niente da fare ....![]()
se faccio cos' alert(rb.SelectedIndex) il risulatato è undefinited sia che sia selezionato o no un radio buttun...
niente da fare ....![]()
se faccio cos' alert(rb.SelectedIndex) il risulatato è undefinited sia che sia selezionato o no un radio buttun...
passiamo ai metodi più invasivi allora
funzioncina che ti scorre tutti gli elementi
adattata alla tua esigenza:Codice PHP:<script>
var flag;
flag = false;
function test(){
for(i=0;i<document.form.radio_tipo.length;i++){
if (document.form.radio_tipo[i].checked){
alert(document.form.radio_tipo[i].value);
flag = true;
}
}
return flag; //flag ritorna true se una radio è ceccata altrimenti false
}
</script>
Codice PHP:var flag = false;
else{
for(i=0;i<rb.length;i++){
if (rb[i].checked){
alert(rb[i].value);
flag = true;
break;
}
}
if (flag == false){
alert("Selezionare un tipo di richiesta/prenotazione!");
}
}
Ubuntu rulez!! :P
Non ho mai provato la regola selectedIndex su radio, ma ritengo che vada scritta uguale alle select cioè non con la "s" piccola o sbaglio? rb.S electedIndex :master:
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
ok così è come la funzione che ho postato un po' più in su .. e ritorno al punto di prima mi viene fatto il controllo ma dopo non prosegue più ...
Codice PHP:else if ((rb.length > 0) && (flag==false)) {
for(i=0;i<rb.length;i++){
if (rb[i].checked){
//alert(rb[i].value);
flag= true;
break;
[B]------ qui si ferma e non mi mostra alert ok ---------[/B]
}
}
if (flag == false){
alert("Selezionare un tipo di richiesta/prenotazione!");
}
}
else {
alert("ok")
//document.modulo.action = "contatti_ok.asp";
//document.modulo.submit();
}
ho provato in tutti i dee i casi sia s piccola che grandeOriginariamente inviato da cavicchiandrea
Non ho mai provato la regola selectedIndex su radio, ma ritengo che vada scritta uguale alle select cioè non con la "s" piccola o sbaglio? rb.S electedIndex :master:
alert(rb.selectedIndex) o alert(rb.SelectedIndex)
risultato sempre undefined sia che selezionato sia che non selezionato
non ne vengo fuori![]()
ho provato anche ...
inserendo return true; ma niente ...Codice PHP:else if ((rb.length > 0) && (flag==false)) {
for(i=0;i<rb.length;i++){
if (rb[i].checked){
//alert(rb[i].value);
flag = true;
return true;
break;
}
}
if (flag == false){
alert("Selezionare un tipo di richiesta/prenotazione!");
return false;
}
}
![]()
![]()
l'if e ancora sotto un else di un altro controllo, tutta la struttura nidificata di if else non è il massimo, fa una gran confusione! (ora provo a riscriverti la funzione per intero)
intanto metti questo codice al posto di quello che hai appena riportato..
Codice PHP:else if ((rb.length > 0) && (flag==false)) {
}
}
for(i=0;i<rb.length;i++){
if (rb[i].checked){
//alert(rb[i].value);
flag= true;
break;
}
if (flag == false){
alert("Selezionare un tipo di richiesta/prenotazione!");
}
else {
alert("ok")
//document.modulo.action = "contatti_ok.asp";
//document.modulo.submit();
}
Ubuntu rulez!! :P
il codice sopra non funziona (ci sno delle graffe che non ci dovrebbero essere ) ti posto tutto il codice che ho così da capire meglio ...
dove c'è scritto // qui va messo controllo radio ho messoCodice PHP:<script language="javascript">
<!--
function Moduloform() {
var form_nome = document.modulo.form_nome.value;
var form_email = document.modulo.form_email.value;
var arrivo = document.modulo.date3.value;
var partenza = document.modulo.date4.value;
var numeroadulti = document.modulo.form_na.value;
var numerobambini = document.modulo.form_nb.value;
var numerocamere = document.modulo.form_numerocamere.value;
var campotesto = document.modulo.campotesto.value;
var tiposcelta= ""
var rb = document.modulo.radio_tipo;
selezionato = false;
var flag = false;
// Espressione regolare dell'email
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
//Effettua il controllo sul campo Nome
if ((form_nome == "") || (form_nome == "undefined")) {
alert("Il campo Nome è obbligatorio.");
document.modulo.form_nome.focus();
return false;
}
//Effettua il controllo sul campo e-mail non obbligatorio
else if (form_email == "" || !email_reg_exp.test(form_email)) {
alert("Inserire un indirizzo e-mail corretto.");
document.modulo.form_email.select();
return false;
}
//controllo campo data checkin
else if ((arrivo == "") || (arrivo == "undefined")) {
alert("Inserire data Check-in!");
document.modulo.date3.style.backgroundColor='#fbf77d'
return false;
}
//controllo campo data checkin
else if ((partenza == "") || (partenza == "undefined")) {
alert("Inserire data Check-out!");
document.modulo.date4.style.backgroundColor='#fbf77d'
return false;
}
else if ((isNaN(numeroadulti)) || (numeroadulti == "") || (numeroadulti == "undefined")) {
alert("Il campo numero adulti deve essere un numero - obbligatorio.");
document.modulo.form_na.value = "";
document.modulo.form_na.focus();
return false;
}
//controllo numero bambini deve essere numerico
else if (isNaN(numerobambini)) {
alert("Il campo numero bambini deve contenere un numero!");
document.modulo.form_nb.value = "";
document.modulo.form_nb.focus();
return false;
}
//controllo numero camere deve essere numerico
else if (isNaN(numerocamere)) {
alert("Il campo numero camere deve contenere un numero!");
document.modulo.form_numerocamere.value = "";
document.modulo.form_numerocamere.focus();
return false;
}
else if ((rb.length > 0) && (flag==false)) {
// qui va messo il controllo dei raio
}
// controllo texarea
else if ((campotesto.indexOf("http://www.") != -1 || campotesto.indexOf("www.") != -1 || campotesto.indexOf("http://") != -1 || campotesto.indexOf("[") != -1) ){
alert("Filtro AntiSpam! \nIl Campo richiesta non può contenere indirizzi web o caratteri come []");
document.modulo.campotesto.focus();
return false;
}
//INVIA IL MODULO
else {
alert("ok")
//document.modulo.action = "contatti_ok.asp";
//document.modulo.submit();
}
}
//-->
</script>
questo codice deve stare dentro al else if ...Codice PHP:for(i=0;i<rb.length;i++){
if (rb[i].checked){
alert(rb[i].value);
flag = true;
return true;
break;
}
}
if (flag == false){
alert("Selezionare un tipo di richiesta/prenotazione!");
return false;
}
ok ho risolto così: almeno sembra che ori funzioni
Codice PHP:<script language="javascript">
<!--
function Moduloform() {
var form_nome = document.modulo.form_nome.value;
var form_email = document.modulo.form_email.value;
var arrivo = document.modulo.date3.value;
var partenza = document.modulo.date4.value;
var numeroadulti = document.modulo.form_na.value;
var numerobambini = document.modulo.form_nb.value;
var numerocamere = document.modulo.form_numerocamere.value;
var campotesto = document.modulo.campotesto.value;
var tiposcelta= ""
var rb = document.modulo.radio_tipo;
for(i=0;i<rb.length;i++){
if (rb[i].checked){
tiposcelta=rb[i].value
break;
}
}
// Espressione regolare dell'email
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
//Effettua il controllo sul campo Nome
if ((form_nome == "") || (form_nome == "undefined")) {
alert("Il campo Nome è obbligatorio.");
document.modulo.form_nome.focus();
return false;
}
//Effettua il controllo sul campo e-mail non obbligatorio
else if (form_email == "" || !email_reg_exp.test(form_email)) {
alert("Inserire un indirizzo e-mail corretto.");
document.modulo.form_email.select();
return false;
}
//controllo campo data checkin
else if ((arrivo == "") || (arrivo == "undefined")) {
alert("Inserire data Check-in!");
document.modulo.date3.style.backgroundColor='#fbf77d'
return false;
}
//controllo campo data checkin
else if ((partenza == "") || (partenza == "undefined")) {
alert("Inserire data Check-out!");
document.modulo.date4.style.backgroundColor='#fbf77d'
return false;
}
else if ((isNaN(numeroadulti)) || (numeroadulti == "") || (numeroadulti == "undefined")) {
alert("Il campo numero adulti deve essere un numero - obbligatorio.");
document.modulo.form_na.value = "";
document.modulo.form_na.focus();
return false;
}
else if (isNaN(numerobambini)) {
alert("Il campo numero bambini deve contenere un numero!");
document.modulo.form_nb.value = "";
document.modulo.form_nb.focus();
return false;
}
else if (isNaN(numerocamere)) {
alert("Il campo numero camere deve contenere un numero!");
document.modulo.form_numerocamere.value = "";
document.modulo.form_numerocamere.focus();
return false;
}
else if ((rb.length > 0) && (tiposcelta == "")) {
alert("Selezionare un tipo di richiesta/prenotazione!");
}
else if ((campotesto.indexOf("http://www.") != -1 || campotesto.indexOf("www.") != -1 || campotesto.indexOf("http://") != -1 || campotesto.indexOf("[") != -1) ){
alert("Filtro AntiSpam! \nIl Campo richiesta non può contenere indirizzi web o caratteri come []");
document.modulo.campotesto.focus();
return false;
}
//INVIA IL MODULO
else {
alert("ok")
alert(tiposcelta)
//document.modulo.action = "contatti_ok.asp";
//document.modulo.submit();
}
}
//-->
</script>