Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241

    I Agree... able/disable di un pulsante se è spuntato un checkbox

    Mi chiedevo come procedere per creare questa situazione molto comune ad esempio nell'installazione dei software...

    codice:
    <HTML>
    <HEAD>
      <SCRIPT>
        function Accept() {
          var privacy = document.getElementById("agree");
          var conf = document.getElementById("confirm");
          if (privacy.checked)
            conf.style.disabled = "false";
          else
            conf.style.disabled = "true";
        }
      </SCRIPT>
    </HEAD>
    <BODY>
    <FORM>
      <INPUT TYPE="CHECKBOX" NAME="agree" ID="agree" DISABLED onclick="Accept();"/>
      <INPUT TYPE="SUBMIT" ID="confirm" />
    </FORM>
    </BODY>
    </HTML>
    purtroppo non funziona, mi da 'undefined' come valore per privacy.checked...

  2. #2
    codice:
    <HTML>
    <HEAD>
      <SCRIPT>
        function Accept() {
          var privacy = document.getElementById("agree");
          var conf = document.getElementById("confirm");
          if (privacy.checked)
            conf.disabled = false;
          else
            conf.disabled = true;
        }
      </SCRIPT>
    </HEAD>
    <BODY>
    <FORM>
      <INPUT TYPE="CHECKBOX" NAME="agree" ID="agree"   onclick="Accept();"/>
      <INPUT TYPE="SUBMIT" disabled="disabled" ID="confirm" />
    </FORM>
    </BODY>
    </HTML>
    1 - hai disabilitato il check, per forza non prende i click
    2 - non conf.style.disabled. L'abilitazione o meno non e' uno stile
    3 - false e true e non "false" e "true". Booleaniu, non stringhe

    Ps
    Il tuo codice HTML e' - come dire - un po' antiquato: ne senso che i tag andrebbero minuscoli e tutti gli attributi andrebbero valorizzati. Quindi non semplicemente

    <input type="text" disabled >

    ma

    <input type="text" disabled="disabled" >

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    In effetti ho fatto un po' di errori di trascrizione per la fretta, punti 1, 2 e 3.
    Non sapevo invece che lo stampatello maiuscolo non era più usato nella stesura del codice, lo scopro solo ora proprio perchè ho sempre scritto il codice in minuscolo e solo in questa occasione l'ho scritto in maiuscolo. L'attributo disabled lo uso per la prima volta quindi non sapevo come andava specificato.
    Purtroppo resta un problema, privacy.checked resta sempre al valore undefined, spuntato o non spuntato!

  4. #4
    non so che dire

    cio' che ti ho postato funziona sia su FF2 che IE7


  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    codice:
    <html>
      <head>
        <script>
          function Accept() {
            var privacy = document.getElementById("agree");
            var conf = document.getElementById("confirm");
            if (privacy.checked)
              conf.disabled = false;
            else
              conf.disabled = true;
          }
        </script>
      </head>
      <body>
        <form>
          <input type="checkbox" name="agree" id="agree" onclick="Accept();"/>
          <input type="submit" disabled="disabled" id="confirm" />
        </form>
      </body>
    </html>
    hai ragione, funziona alla perfezione l'esempio estrapolato dal resto del codice, ma non all'interno...mumble mumble...




    EDIT: non so per quale strana ragione, ma ora funzione anche all'interno del resto del codice...

  6. #6
    Originariamente inviato da Miki73
    codice:
    <html>
      <head>
        <script>
          function Accept() {
            var privacy = document.getElementById("agree");
            var conf = document.getElementById("confirm");
            if (privacy.checked)
              conf.disabled = false;
            else
              conf.disabled = true;
          }
        </script>
      </head>
      <body>
        <form>
          <input type="checkbox" name="agree" id="agree" onclick="Accept();"/>
          <input type="submit" disabled="disabled" id="confirm" />
        </form>
      </body>
    </html>
    hai ragione, funziona alla perfezione l'esempio estrapolato dal resto del codice, ma non all'interno...mumble mumble...




    EDIT: non so per quale strana ragione, ma ora funzione anche all'interno del resto del codice...

    Forse perchè a volte il javascript ha bisogno di un bell'F5 del browser per aggiornarsi a dovere, altrimenti continui a vedere il vecchio codice in cache.

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.