decio1938
YaBB Newbie

 W questo FORUM!!!


Sesso: 
post: 1
|
 |
inserimento di un check nel carrello della spesa
« Data del post: 01/22/06 alle ore 10:37:13 » |
|
Salve a tutti non riesco a inserire un alert per accettare le condizioni di vendita nel carrello nello specifico dovrei inserire una text area di sola lettura con un box di accetto le condizioni ,se non spuntata all'invio modulo dovrebbe comparire un alert "accetta condizioni per inviare l'ordine" e non consentire l'invio... ho trovato qualcosa di simile e sono riuscito a farlo funzionare ma solamente inserendo il codice nell'html generato dal carrello e non sul file js.js ..il codice e' questo : GENERE: utilità DESCRIZIONE: Obbligo di spuntare un checkbox per inviare un modulo COMPATIBILITA': Explorer 5.x, Netscape 6.x, Netscape 4.x USO FILE ESTERNI: no FILE ALLEGATO: "jscript_240602.zip" - DESCRIZIONE - Il codice di questa settimana ci permetterà, in modo semplice e veloce, di creare un modulo che potrà essere inviato solamente se verrà spuntato un checkbox di controllo. Lo script è utile in quei casi, ad esempio, in cui si vuole essere sicuri che l'utente abbia accettato i termini di un contratto. Non avremo problemi di compatibilità con i maggiori browser in circolazione: Explorer 5.x, Netscape 6.x e Netscape 4.x. Il file allegato a questa mail "jscript_240602.zip" si compone di 1 file (esclusi i file "htmlit.gif" e "jscript_240602.txt"): esempio.htm Per una piu' semplice comprensione del presente script fai continuamente riferimento ai file sopracitati, verificando le procedure e i dati espressi. Solo in questo modo, con un continuo confronto, comprenderai le peculiarita' di questo Javascript. >>>>>>>>>>>>>>>> esempio <<<<<<<<<<<<<<<<<< Prima di tutto inseriamo questo codice tra i tag <head> della pagina in cui è contenuto il modulo: --------------------------------------------- script language="JavaScript"> <!-- var checkobj function accetta(el){ checkobj=el if (document.all||document.getElementById){ for (i=0;i<checkobj.form.length;i++){ var tempobj=checkobj.form.elements[i] if(tempobj.type.toLowerCase()=="submit") tempobj.disabled=!checkobj.checked } } } function disabilita(el){ if (!document.all&&!document.getElementById){ if (window.checkobj&&checkobj.checked) return true else{ alert("Per favore accetta i termini del contratto") return false } } } --> </script> --------------------------------------------- Il codice appena inserito non richiede alcuna personalizzazione. A questo punto possiamo costruire un semplicissimo modulo a cui, in seguito, aggiungeremo alcuni elementi per completare lo script. Partiamo da un form di questo tipo: --------------------------------------------- <form name="modulo"> Nome: <br> <input name="nome" type="text" size="28"><br><br> Contratto: <br> <textarea rows="5" cols="30" wrap=virtual>etc etc etc</textarea><br> <input type="Submit" value="Invia!" disabled> </form> --------------------------------------------- Supponiamo di voler essere sicuri che l'utente, prima di inviare il modulo, abbia accettato i termini del nostro contratto. Basterà modificare il form precedente in questa maniera: --------------------------------------------- <form name="modulo" onSubmit="return disabilita(this); return false"> Nome: <br> <input name="nome" type="text" size="28"><br><br> Contratto: <br> <textarea rows="5" cols="30" wrap=virtual>etc etc etc</textarea><br> <input name="chekka" type="checkbox" onClick="accetta(this)"><b>Accetta i termini del contratto</b><br> <input type="Submit" value="Invia!" disabled onClick ="document.modulo.submit()"> </form> <script> document.forms.modulo.chekka.checked=false </script> --------------------------------------------- Come potete notare abbiamo inserito: 1) una funzione di controllo (con evento onSubmit) nel tag <form...> ("return false" serve per impedire l'invio del modulo premendo il tasto INVIO) 2) un checkbox chiamato "chekka" con il richiamo alla funzione "accetta" 3) subito dopo la chiusura del tag </form> è stata inserita una stringa di codice. è importante che il terzo nome della stringa sia identico a quello dato al modulo mentre il quarto elemento dovrà avere uguale al nome dato al checkbox. Altre personalizzazioni non sono necessarie. Ovviamente, prima di concludere, ricordo che si tratta pur sempre di javascript (che lavora lato client) e quindi ci sono tutti i limiti del caso. Ad esempio se l'utente disabilitasse l'esecuzione di javascript sul proprio browser il controllo non avverrebbe. mi potete aiutare grazie
|