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

    Problema controllo campo checkbox

    Ciao a tutti,
    ho un form in una pagina html.
    Al submit i dati vengono elaborati da una pagina asp.
    Ho inserito nel form un campo "legals" dove appaiono le clausole legali e una checkbox per accettarle o meno.
    Ora il mio problema è fare in modo che se la checkbox è spuntata su SI (allora il value="si") mi esegue il submit, altrimenti mi restituisce un alert.
    Ho provato a fare questa funzione, ma non utilizzando da parecchio tempo js mi da errore.

    <script language="javascript">
    function control(){
    if (document.form.legals.value = "si") {
    document.form.submit();
    else
    alert("Leggere e accettare le note legali.");
    }
    }
    </script>

    Mi da errore di sintassi...
    Grazieee

    P.S.: Sul pulsante di invio ho inserito:

    onclick="javascript: control(); return false;"
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se legals e` il campo checkbox:
    if (document.NOMEFORM.legals.checked) {

    Il programma e` da chiamare all'evento onsubmit del tag <form> con:
    <form ... onsubmit="return control(this);">

    function control(ff){
    if (ff.legals.checked) {
    return true;
    else
    alert("Leggere e accettare le note legali.");
    return false;
    }

    Nota: "form" e` parola riservata e non puo` essere usato come nome del form.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Allora ho inserito la funzione:
    function control(form1){
    if (form1.legals.checked) {
    return true;
    else
    alert("Leggere e accettare le note legali.");
    return false;
    }
    }

    e ho messo nel tag form questo:
    onsubmit="return control(this);"

    Però mi da errore di sintassi alla riga 9 che sarebbe:
    else

    Ho chiamato il form "form1"

    Tra l'altro non so se possa dare problemi, ma ho due checkbox (si e no) dove all'inizio no è checked
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  4. #4
    Porka trota!
    Scusami ho due radio button.... non due checkbox...

    <input type="radio" name="legals" value="si">Si <input type="radio" name="legals" value="no" checked>No
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se sono radio, la sintassi cambia.

    Mi sono dimenticato un paio di graffe:
    codice:
    function control(ff){
      if (ff.legals[0].checked) {
        return true;
      } else {
        alert("Leggere e accettare le note legali.");
        return false;
      }
    }
    non usare nomi uguali per variabili diverse: fai confusione tu e rischi di commettere errori.

    Dentro la funzione la varibaile (locale) ff indica l'oggetto form, non il suo nome, dato che e` stato passato l'oggetto.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    OK grazie mille!
    Funziona tutto :tongue:
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

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.