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

    Validazione form che non valida....

    Data la seguente funzione, qualcuno potrebbe spiegarmi come mai non mi controlla i campi Email, e Strumento?
    Premetto che per tutti gli altri campi il prob non sussite.... (mentre il controllo sull'email, in un altro form funge )

    function seleziona_tutti(ss){
    modulo=ss

    for (var i=0; i<modulo.length; i++) {

    if (modulo.elements[i].name.substr(0,5)=='Email') {
    if (modulo.elements[i].value == '' || modulo.elements[i].value.indexOf('@',1)== -1 || modulo.elements["Email"].value.indexOf('.',2)==-1){
    alert("Controlla che l' E-mail sia inserita correttamente");
    modulo.elements[i].focus();
    return false;
    }
    }

    if (modulo.elements[i].name.substr(0,4)=='Nome') {
    if (!isNaN(modulo.elements[i].value) || modulo.elements[i].value =='' || modulo.elements[i].value.length < 2){
    alert("Controlla che il campo Nome sia correttamente riempito");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,7)=='Cognome') {
    if (!isNaN(modulo.elements[i].value) || modulo.elements[i].value =='' || modulo.elements[i].value.length <2){
    alert("Controlla che il campo Cognome sia correttamente riempito");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,11)=='Datanascita') {
    if (modulo.elements[i].value ==''){
    alert("devi compilare tutti i campi");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,3)=='Via') {
    if (modulo.elements[i].value ==''){
    alert("devi compilare tutti i campi");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,7)=='Ncivico') {
    if (isNaN(modulo.elements[i].value) || modulo.elements[i].value ==''){
    alert("Controlla che il Numero Civico sia inserito correttamente. Se non dovessi conoscerlo inserisci lo zero.");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,3)=='Cap') {
    if (isNaN(modulo.elements[i].value) || modulo.elements[i].value =='' || modulo.elements[i].value.length <5 ){
    alert("Controlla che il C.A.P. sia inserito correttamente.");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,5)=='Citta') {
    if (!isNaN(modulo.elements[i].value) || modulo.elements[i].value ==''){
    alert("Controlla che il campo Città sia correttamente riempito");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,9)=='Provincia') {
    if (!isNaN(modulo.elements[i].value) || modulo.elements[i].value ==''){
    alert("Controlla che il campo Provincia sia correttamente riempito");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,7)=='Nazione') {
    if (!isNaN(modulo.elements[i].value) || modulo.elements[i].value ==''){
    alert("Controlla che il campo Nazione sia correttamente riempito");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,8)=='Telefono') {
    if (isNaN(modulo.elements[i].value) || modulo.elements[i].value ==''){
    alert("Controlla che il campo Telefono sia correttamente riempito");
    modulo.elements[i].focus();
    return false;
    }
    }
    if (modulo.elements[i].name.substr(0,9)=='Strumento') {
    if (!isNaN(modulo.elements[i].value) || modulo.elements[i].value =='' || modulo.elements[i].value.length < 2){
    alert("Controlla che il campo Strumento sia correttamente riempito");
    modulo.elements[i].focus();
    return false;
    }
    }
    }
    return true;
    }
    //-->
    Grazie mille
    aaaaaaacccciià

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    37
    Ho provato a venirne a capo ma niente.....
    scusatemi se uppo
    aaaaaaacccciià

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ho dato un'occhiata veloce.

    E` strana (ma non sbagliata) l'impostazione della funzione; tieni presente che viene fatto un ciclo sugli elementi del form, e quando trova un campo che non gli piace si ferma e non controlla gli altri.

    Quindi per il controllo dell'e-mail dovresti riempire tutti gli altri campi e poi fare un errore sul campo e-mail (o lasciarlo vuoto).

    Controlla che il nome del campo sia esattamente "Email" (con l'iniziale maiuscola).

    Comunque in questa espressione usi due sintassi diverse:
    modulo.elements[i].value
    modulo.elements["Email"].value

    sono entrambe corrette, ma perche` usarele diverse?

    if (modulo.elements[i].value == '' || modulo.elements[i].value.indexOf('@',1)== -1 || modulo.elements["Email"].value.indexOf('.',2)==-1){


    Fai i controlli che ti ho detto, poi ci possiamo risentire.

    Ciao
    Michele
    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
    Jun 2001
    Messaggi
    37
    Ciao Mich_ grazie per la risposta,
    se ben ricordi il ciclo serve per validare i campi creati dinamicamente (mi hai suggerito tu stesso questa soluzione in un altro tread) tranne il campo mail che è uno soltanto. lo volevo mettere fuori dal ciclo quindi ho usato questa sintassi:

    modulo.elements["Email"].value

    poi l'ho messo nel ciclo (tanto non cambia niente) e ho cambiato con:

    modulo.elements[i].value

    Tranne quel pezzetto (sbadataggine !!!)
    Cmq ieri sera ho rifatto alcune prove e stranamente senza cambiare nulla si è messo a funzionare non capisco come, ma......

    Ora è tutto a posto

    Ti ringrazio veramente tanto per l'interessamento alla prossima



    p.s.: forse ora vado ot, ma vorrei chiederti se esiste un qualcosa che mi metta nella pagina come sfondo una sola immagine senza che questa si ripeta nell'intera pagina (che magari stia al centro...) Ho già approfittato abbastanza ciao e grazie ancora
    aaaaaaacccciià

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ora ricordo, non mi ricordavo dell'altro post, e non pensavo a vari campi cha iniziano con lo stesso nome.

    Forse era un problema di cache della pagina? A volte capita.

    --

    Per quanto riguarda la formattazione, e` leggermente fuori tema per questo form (sarebbe piu` corretto HTML o XML,XHTML), ma ti posso rispondere lo stesso: nei CSS esiste la proprieta` background-repeat, che puo` assumere i valori: 'repeat', 'repeat-x', 'repeat-y', no-repeat', 'inherit' .
    Nel tuo caso andrebbe applicata al document.

    Ciao
    Michele
    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
    Jun 2001
    Messaggi
    37
    Grazie mich_ farò tesoro de tuoi consigli
    e studierò un pò di css.......
    aaaaaaacccciià

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.