Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: controllo campi radio

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141

    controllo campi radio

    Questo codice dovrebbe fare in modo ke risulti una messaggio d'errore nel caso in cui non ci sia selezionato alcun radio...
    Il problema sta nel fatto ke,anke ne seleziono uno,il messaggio d'errore esce ankora...
    Ho gia provato a cercare all'interno del form,ma anke seguendo le indicazioni trovate,il problema persiste...se qualcuno puo darmi una mano...
    grazie1000

    <script language=javascript>
    <!--
    function ctr_radio()
    {
    if ((!document.ins_prodotti.lang[0].checked)||(!document.ins_prodotti.lang[1].checked))
    {
    alert(" Campo obbligatorio.");
    return false;
    }
    }
    -->
    </script>
    <form method="post" action="execute.php" enctype="multipart/form-data" name="ins_prodotti">

    <input type="radio" name="lang" value="1">Italiano
    <input type="radio" name="lang" value="2">Inglese

    <input type="button" name="inserisci" value="inserisci" onClick="ctr_radio();">

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    non c'e nex ke puo darmi una mano???

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Prova con AND && al posto di OR ||
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    non funziona neanke mettendo && al posto di || ...
    sinc nn so dove possa essere l'errore,tu sai x caso darmi una mano???

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Prova a cambiare il nome dei radio.
    lang e` nome riservato.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    non è neanke quello purtroppo!!!
    Io nn so piu dove sbattere la testa sinc...
    se puoi aiutarmi tu...
    grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Riposta il codice come e` adesso. Posso solo immaginare un errore di sintassi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141

    tutto il codice

    il problema di prima l'ho risolto...era un errore di sintassi cm hai ipotizzato...
    cmq approfitto x farti un'ulteriore domanda,giuro ke è l'ultima,dopo smetto di romperti...
    Ho un campo radio,a seconda della selezione di un radio,m si preenteranno diversi altri campi radio...
    ti posto il codice:

    function ctr_campi2() {

    var nome = document.ins_prodotti.NewProductName.value;
    var codice = document.ins_prodotti.ProductCode.value;
    var categoria = document.ins_prodotti.Categoty;
    var img1 = document.ins_prodotti.ImgUno.value;
    var img2 = document.ins_prodotti.ImgDue.value;

    <html>
    <head>
    <script language=javascript>
    <!--
    function nasconditutto()
    {
    if(document.all)
    {
    document.all.ItCat.style.visibility="hidden";
    document.all.EngCat.style.visibility="hidden";
    }
    else

    if(document.layers)
    {
    document.layers['ItCat'].visibility="hide";
    document.layers['EngCat'].visibility="hide";
    }
    else

    if(document.getElementById)
    {
    document.getElementById('ItCat').style.visibility= "hidden";
    document.getElementById('EngCat').style.visibility ="hidden";
    }

    }
    //nasconde solo una categoria
    function hide()

    {

    if(document.all)
    {
    document.all.ItCat.style.visibility="hidden";
    document.all.EngCat.style.visibility="visible";
    }
    else

    if(document.layers)
    {
    document.layers['ItCat'].visibility="hide";
    document.layers['EngCat'].visibility="visible";
    }
    else

    if(document.getElementById)
    {
    document.getElementById('ItCat').style.visibility= "hidden";
    document.getElementById('EngCat').style.visibility ="visible";
    }

    }


    //mostra solo una categoria
    function show()

    {

    if(document.all)
    {
    document.all.ItCat.style.visibility="visible";
    document.all.EngCat.style.visibility="hidden";
    }
    else

    if(document.layers)
    {
    document.layers['ItCat'].visibility="show";
    document.layers['EngCat'].visibility="hidden";
    }

    else

    if(document.getElementById)
    {
    document.getElementById('ItCat').style.visibility= "visible";
    document.getElementById('EngCat').style.visibility ="hidden";
    }

    }

    function ctr_campi2() {

    var nome = document.ins_prodotti.NewProductName.value;
    var codice = document.ins_prodotti.ProductCode.value;
    var categoria = document.ins_prodotti.Categoty;
    var img1 = document.ins_prodotti.ImgUno.value;
    if (nome == "")
    {
    alert("Il campo nome è obbligatorio.");
    document.ins_prodotti.NewProductName.focus();
    return false;
    }
    else
    if (codice == "")
    {
    alert("Il campo codice è obbligatorio.");
    document.ins_prodotti.ProductCode.focus();
    return false;
    }
    else
    if ((!document.ins_prodotti.lingua[0].checked)&&(!document.ins_prodotti.lingua[1].checked))
    {
    alert("Il campo linguaggio è obbligatorio.");
    return false;
    }
    else
    if(!categoria.checked)
    {
    for(i=0; i<categoria.length; i++)
    {
    if (categoria[i].checked)
    {
    alert('devi inserire il campo categoria!!!');
    break;
    }
    }
    }
    else
    if (img1 == "")
    {
    alert("Devi inserire l'immagine 1");
    document.ins_prodotti.img1.focus();
    return false;
    }

    else {
    document.ins_prodotti.submit();
    }
    }
    -->
    </script>
    </head>
    <body>
    <form method="post" action="execute.php" enctype="multipart/form-data" name="ins_prodotti">
    inserisci il nome (*):
    <input type="text" name="NewProductName" value="">
    inserisci il codice (*):
    <input type="text" name="ProductCode" value="" maxlength="5" size="10">

    scegli il linguaggio (*):

    <input type="radio" name="lingua" value="1"onClick="show();">Italiano
    <input type="radio" name="lingua" value="2"onClick="hide();">Inglese

    <?php /*le funzioni show(); hide(); servono x visualizzare o meno
    i campi radio della categoria relativa alla lingua specificata*/ ?>

    scegli la categoria(*):
    <DIV ID="ItCat" STYLE="visibility:visible;">
    <?php //ciclo
    { ?>
    <input type="radio" name="Category" value="<?php echo $IDcategory; ?>"><?php echo $NomeCategoria; ?>

    <?php }
    </div>
    <DIV ID="EngCat" STYLE="visibility:visible;">
    <?php
    //ciclo
    { ?>
    <input type="radio" name="Category" value="<?php echo $ThisCat->IDcategory; ?>"><?php echo $ThisCat->name; ?>

    <?php }
    ?>
    </DIV>
    <script language="JavaScript">
    <!--
    nasconditutto();
    -->
    </script>
    immagine uno(*):

    <input name="ImgUno" type="file">
    <input type="hidden" name="MAX_FILE_SIZE" value="50000000">

    <input type="button" name="bottone" value="inserisci" onClick="ctr_campi2();">
    <input type="hidden" name="send" value="insert_product">
    </form>
    </body>
    </html>

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e` una contraddizione:

    if(!categoria.checked)
    {
    for(i=0; i<categoria.length; i++)
    {
    if (categoria[i].checked)

    categoria dovrebbe essere una collezione di radio (mi pare) - allora non puoi testare categoria.checked. Lascia solo il loop per il controllo.

    Tra l'altro potrebbe esserci un erorre nella definizione dell'oggetto categoria.

    Il loop deve essere di questo tipo:

    var tmp = 0;
    for(var i=0; i<categoria.length; i++) {
    if (categoria[i].checked) tmp++;
    }
    if(tmp == 0) {
    alert('devi inserire il campo categoria!!!');
    return false;
    }

    ---

    La funzione deve ritornare solo true o false (non mettere il submit dentro la funzione - ha effetti collaterali)

    La funzione deve essere chiamata dal tag <form> in questo modo:
    <form ... onsubmit="return ctr_campi2();">
    (nota il return davanti al nome: in tal modo se ritorna false, il form viene fermato)

    Poi ci deve essere un <input type="submit"> per inviare il form.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    sinceramente avevo gia provato un codice identico...solo ke con questo codice,all'apertura della pagina,mi vengono mostrate tutte le categorie a prescindere dal fatto di aver selezionato o meno il campo linguaggio...

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.