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

    Numero di controlli arbitrario

    Ciao!
    Ho fatto una form in html di nome "dati" che dato un valore in ingresso genera n campi!
    come faccio per creare una funzione in javascript di controllo su di un numero di campi arbitrario che cambia a seconda della scelta dell'utente?

    Es:
    n=3
    // ciclo in PHP
    for (i=1;i<=n;i++)
    /* crea una form con 3 campi nome_attrezzo, 3 campi marca_attrezzo, con nomi nome_attrezzo1, nome_attrezzo2,...,marca_attrezzo1,marca_attrezzo2 ,...... */

    devo controllare che tutti i campi non siano vuoti e anche una cosa più banale, ho 2 input di tipo radio stesso nome "trattamento" uno con valore no e l'altro si, di cui il primo checked (quindi il valore di trattamento dovrebbe essere "no" giusto :master: ?) che ritorna un messaggio di errore se si inviano i dati senza aver scelto si!

    per questo pensavo ad una funzione

    function controllo () {
    if (dati.trattamento.value=="no") {
    alert("Devi autorizzare il trattamento dei tuoi dati");
    return false; }
    return true;
    }

    oppure poter fare una funzione che disabilitasse il pulsante di invio finchè trattamento non è uguale a "si"!

    ho scritto troppo VVoVe: ?

    grazie dell'aiuto!

    ciao
    "Quand'ero piccolo mia nonna mi portò a mangiare in una trattoria all'aperto. Cominciò a piovere. Ci misi 3 ore a finire il brodo."

    Mario Zucca

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Pagina di prova...
    codice:
    <HTML>
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function controllo() {
    	var f = document.dati;
    	var rv = true;
    	var i = 1;
    	while (f.elements["nome_attrezzo"+i]) {
    		if (f.elements["nome_attrezzo"+i].value == "") rv = false;
    		if (f.elements["marca_attrezzo"+i].value == "") rv = false;
    		i++;
    	}
    	if (!rv) {
    		alert("Compilare tutti i campi.");
    		return false;
    	}
    	rv = "";
    	for (i=0;i<f.trattamento.length;i++) {
    		if (f.trattamento[i].checked) rv = f.trattamento[i].value;
    	}
    	if (rv != "si") {
    		alert("Devi autorizzare il trattamento.");
    		return false;
    	}
    	return true;
    }
    //-->
    </SCRIPT>
    </HEAD>
    <BODY>
    <FORM name="dati" ... onsubmit="return controllo();">
    <input type="text" name="nome_attrezzo1"><input type="text" name="marca_attrezzo1">
    
    <input type="text" name="nome_attrezzo2"><input type="text" name="marca_attrezzo2">
    
    <input type="text" name="nome_attrezzo3"><input type="text" name="marca_attrezzo3">
    
    <input type="radio" name="trattamento" value="no" checked>no
    
    <input type="radio" name="trattamento" value="si">si
    
    <input type="submit">
    </FORM>
    </BODY>
    </HTML>
    ho scritto troppo...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    grazie grazie grazie grazie grazie grazie grazie grazie grazie
    "Quand'ero piccolo mia nonna mi portò a mangiare in una trattoria all'aperto. Cominciò a piovere. Ci misi 3 ore a finire il brodo."

    Mario Zucca

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.