Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579

    Controllo Checkbox [IE e Firefox]

    Sto cercando di rendere obbligatorie 2 chackbox... Se funzionano con Firefox, non funzioano con IE7... Ma può essere???

    codice:
    function prova() {
    if (document.getElementsByName('condizioni').checked== false)
    	{
    		alert("Devi accettare le condizioni di vendita per effettuare l'acquisto");
    		return false;
    	}
    if (!document.getElementsByName('privacy').checked)
    	{
    		alert("Devi dare il tuo consenso al trattamento dei dati personali per effettuare la registrazione");
    		return false;
    	}
    
    }
    
    <form id="ordine" method="post" action="ordine_inviato.asp" onSubmit="return prova();">
    <input name="condizioni" type="checkbox" id="condizioni" value="1" tabindex="30" />
    <input name="privacy" type="checkbox" id="privacy" value="1" tabindex="31" />
    </form>

  2. #2
    Dubito fortemente che IE7 faccia il pignolo sulle maiuscole e minuscole nei nomi dei tag e degli attributi (che ti ricordo in XHTML devono obbligatoriamente essere scritti in minuscolo), però, giusto per testare, prova così:

    codice:
    onsubmit="prova()"

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    dubito fortemente che

    document.getElementsByName()

    possa funzionare, se non altro perchè restituirebbe un array... quelle che nel codice hai chiamato 'condizioni' e 'privacy' che attributi sono di preciso? Name? Id?...
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579
    Non ho capito... Dov'è l'errore se è tutto in minuscolo??

  5. #5
    Oddio, che pirla che sono! Non mi ero accorto del tuo macro-errore. Correggo:

    codice:
    function prova()
    {
       if ( document.getElementById('condizioni').checked == false )
       {
          alert("Devi accettare le condizioni di vendita per effettuare l'acquisto")
          return false;
       } 
       if ( !document.getElementById('privacy').checked )
       {
          alert("Devi dare il tuo consenso al trattamento dei dati personali per effettuare la registrazione")
          return false
       }
    }
    getElementsByName() non esiste. Dai un'occhiata alle specifiche ufficiali:

    - http://www.w3.org/TR/DOM-Level-2-Cor...ml#ID-BBACDC08

    Per quanto riguarda il case-sensitive, una regola base di XHTML impone che tutti i nomi dei marcatori e degli attributi siano scritti in minuscolo. Quello che in HTML era accettabile come 'onClick', in XHTML va scritto 'onclick'.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579
    Ti ringrazio nuovamente ma non riesco a capire ancora dove sbaglio... Cosa hai corretto?? Nella tua versione manca anche un punto e virgola alla fine nel "return false"....

  7. #7
    Allora, gli errori erano due:
    1. avevi scritto getElementsByName, ma è un metodo che non esiste; occorre usare getElementById, riferendosi ovviamente all'id dell'elemento;
    2. avevi scritto onSubmit, mentre l'XHTML impone che il nome di tag e attributi sia scritto in minuscolo, ovvero onsubmit.

    Il punto-e-virgola si usa in Javascript solo per separare più istruzioni scritte sulla stessa riga. Andando a capo, invece, quella punteggiatura non serve (l'avevo lasciato io per svista nel codice corretto).

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.