Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Controllo array in form

    Ciao a tutti,
    credo che l'argomento sia stato trattato + volte, ma il search del forum al momento non funziona..

    Ho l'esigenza di fare un controllo su 2 array presenti in un form; il primo array è su di un campo di tipo textarea, xcui basta un controllo del tipo
    codice:
    value.length < nr
    e d è un array di 3 elementi: testo_risposta[] .. testo_risposta[2].
    Il secondo è un array di pulsanti radio esatta[] .. esatta[2],
    con 2 elementi x ogni valore
    codice:
    SI <input type="radio" name="esatta[]" value="true">
    NO <input type="radio" name="esatta[]" value="false" checked>
    qui dovrei eseguire un alert se nessuno dei 3 elementi dell'array è settato su true oppure se + di uno è settato su true.

    Non so come controllare gli array, ho provato una cosa del genere ma è sbagliata:
    codice:
     for (i=0; i<2; i++){ 
     	if((frm[testo_risposta][i].value.length <2)){
     		alert(msg3);
    		return false}
    }
    				
    		
    if((document.frm.esatta[0].checked == false) && (document.frm.esatta[1].checked == false) && (document.frm.esatta[2].checked == false)){
       alert(msg1);
       return false}	
    
    }


    C'è qualcuno che mi può gentilmente dare un suggerimento??

    Grazie

    ciao ciao
    Stega
    :-)

  2. #2
    sei costretto a usare "esatta[]" come nome?
    non puoi usare un nome del tipo "esattan", con n incrementale?

  3. #3
    Usando esatta1, esatta2 ed esatta3 funziona senza problemi:

    codice:
    if((document.frm.esatta[1].checked) && (document.frm.esatta1[1].checked) && (document.frm.esatta2[1].checked)){
       alert(msg1);
       return false}	
    }
    Però devo andare a modificare lo script php che ho già fatto ed è funzionante sull'array.

    Cmq ho cercato un po" con google e mi sembra che su un array bidimensionale non si può fare il controllo in JS..

    Speravo di sbagliarmi, peccato..
    facevo prima..
    Stega
    :-)

  4. #4
    prova così:

    codice:
    var elemento="";
    var c=0;
    for (var i=0; i<3; i++) {
     elemento="esatta["+i+"]";
     if (document.frm[elemento][0].checked) c++;
    }
    if (c==0) {
     alert("Selezionare una voce.");
     return false;
    }
    else if (c>1) {
     alert("Selezionare solo una voce.");
     return false;
    }
    ciao

  5. #5
    Ottimo!!!

    Funziona alla grande..

    Grazie 1000..

    :gren:

    ciao
    Stega
    :-)

  6. #6
    Nel solito form ho anche un array di textarea, pensavo che una cosa del genere funzionasse invece non va..

    codice:
    for (var a=0; a<3; a++){ 
     	if((document.frm.testo_risposta[+a].value.length <2)){
     		alert(msg3 +a);
    		return false}
    }
    Stega
    :-)

  7. #7
    cosa vorresti testare sulle textarea?

  8. #8
    Che venissero inseriti x lo meno 2 caratteri, essendo una risposta può essere "SI" oppure "NO"..

    Cmq così funziona:

    codice:
    var elemento_text = "";
    for (var a=0; a<3; a++){ 
    elemento_text="testo_risposta["+a+"]";
     	if((document.frm[elemento_text].value.length <2)){
     		alert(msg3);
    		return false}
    }
    Grazie x l'aiuto

    ciao

    :metallica
    Stega
    :-)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.