Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    se radio è = 1 controlla il campo input

    ciao a tutti, giuro che ho cercato ma non ho trovato.

    in pratica ho due radio etichettati come "si" e "no", rispettivamente nel form uno invia valore 1 l'altro 0 così:

    <input name="finito" id="finito" type="radio" value="1">
    <input name="finito" id="finito" type="radio" value="0" checked>

    a fianco c'è un campo di input:

    <input type="text" name="finitoil" id="finitoil">

    che deve essere controllato SOLO se il radio è su sì (cioè se ha valore 1) altrimenti non deve essere controllato.

    ho fatto quindi in questo modo.

    codice:
    function inviamodulo() {
    var finito = document.modulo.finito[0].value;
    var finitoil = document.modulo.finitoil.value;
    
    if ((finito == 1 && finitoil =="") || (finito == 1 && finitoil=="undefined") ){
               alert("Se hai selezionato sì devi scrivere nel campo a fianco");
               document.modulo.finitoil.focus();
               return false;
    }
    mi appare l'alert anche se è cecckato il no.
    cosa sbaglio?

  2. #2
    Ecco lo script debuggato

    codice:
    <HTML><BODY onLoad="inviamodulo();">
    <FORM name="modulo" action="niubbo.html" method="post">
    SI 1<input name="finito" id="finito" onClick="inviamodulo();" type="radio" value="1"> 
    NO 0<input name="finito" id="finito" onClick="inviamodulo();" type="radio" value="0" checked> 
    &nbsp&nbsp&nbsp
    <input type="text" name="finitoil" id="finitoil" disabled> 
    </FORM>
    <SCRIPT language="Javascript1.2">
    <!--
    function inviamodulo() 
    {
    if (document.modulo.elements[0].checked==true)
    {
    document.modulo.finitoil.disabled=false;
    window.alert("Se hai selezionato sì devi scrivere nel campo a fianco");
    document.modulo.finitoil.focus();
    }
    if (document.modulo.elements[1].checked==true)
    {
    document.modulo.finitoil.disabled=true;
    }
    }
    //-->
    </SCRIPT></BODY></HTML>
    Open ur mind 'n ENJOY da' power of JavaSkript :-)...
    Coded by 16437952

  3. #3
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    mmm grazie ma non è esattamente la risposta a quello che volevo:

    la funzione inviamodulo(); viene eseguita onSubmit nella tag del form.
    e, di conseguenza, la funzione controlla vari campi (io ho postato solo la parte interessata al problema)
    in quel momento (quindi all'invio del form) deve controllare SE il radio 1 è checckato, se si allora deve controllare se il campo a fianco è vuoto o undefined.

    lo script che hai postato genera un alert al click sul radio 1 e abilita il campo input. non mi serve.
    non ho bisogno di script che mi abilitano o meno il campo di input e che mi avvisino che devo riempirlo... e se non faccio il bravo e non lo riempo? il modulo viene inviato lo stesso.

    ho soltanto bisogno di capire come scrivere la funzione nel modo corretto: la scrivo in linguaggio umano.

    SE radio 1 è un uguale a 1 controlla se input e vuoto o undefined altrimenti fregatene.

    grazie lo stesso cmq.

  4. #4
    ecco a te.
    Dovrebbe essere quello che chiedi.

    codice:
    <HTML>
    <HEAD>
    <SCRIPT language="Javascript1.2">
    function inviamodulo() {
    	var finito = document.modulo.finito[0].checked;
    	var finitoil = document.modulo.finitoil.value;
    	if ( (finito == true) && (finitoil =="")) {
    	           alert("Se hai selezionato sì devi scrivere nel campo a fianco");
    	           document.modulo.finitoil.focus();
    	           return false;
    	}
    }
    </SCRIPT>
    </HEAD>
    <BODY>
    <FORM name="modulo" action="niubbo.html" method="post" onsubmit="return inviamodulo();">
    SI 1<input name="finito" id="finito" type="radio" value="1"> 
    NO 0<input name="finito" id="finito" type="radio" value="0" checked> 
    &nbsp&nbsp&nbsp
    <input type="text" name="finitoil" id="finitoil"> 
    <input type="submit" name="invio" value="Invia modulo">
    </FORM>
    </BODY>
    </HTML>
    ciao
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

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.