Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    62

    FUnzione javascript che non funziona

    Ho creato questa pagina con dreamweaver (posto solo parte di codice):

    <SCRIPT language=JavaScript>
    <!--
    function DoSubmit(obj) {
    var nome = obj.nome.value;
    var cognome = obj.cognome.value;
    var email = obj.email.value;
    var citta = obj.citta.value;
    var cap = obj.cap.value;
    var strMailFilter = /^.+@.+\..{2,3}$/;
    var strIllegalChars = /[\(\)\<\>\,\;\:\\\/\*\-\+\=\"\[\]]/;

    var submitform = true;
    var error = '************************* REGISTRAZIONE *************************\n\n';
    error += ' Attenzione : \n\n';

    if (nome.length < 3 ) {
    error += ' + Nome è un campo richiesto \n';
    submitform = false;
    }
    if (nome.length > 20 && isNaN(nome) ) {
    error += ' + Nome può essere massimo 20 caratteri \n';
    submitform = false;
    }
    if (nome.length > 1 && nome.match(strIllegalChars) ) {
    error += ' + Nome contiene caratteri non consentiti \n';
    submitform = false;

    }

    if (cognome.length < 1) {
    error += ' + Cognome è un campo obbligatorio \n';
    submitform = false;
    }

    if (cognome.length > 20 ) {
    error += ' + Cognome può essere massimo 20 caratteri \n';
    submitform = false;
    }
    if (cognome.length > 1 && cognome.match(strIllegalChars)) {
    error += ' + Cognome contiene caratteri non consentiti \n';
    submitform = false;
    }

    if (email.length < 1) {
    error += ' + Email è un campo obbligatorio \n';
    submitform = false;
    }

    if (email.length > 30) {
    error += ' + Email è massimo 30 caratteri \n';
    submitform = false;
    }
    if (email.length > 1 && email.match(strIllegalChars)) {
    error += ' + Email contiene caratteri non consentiti \n';
    submitform = false;
    }
    if (email.length > 1 && !email.match(strIllegalChars) && !(strMailFilter.test(email))) {
    error += ' + Email non è valida \n';
    submitform = false;
    }

    if (citta.length < 3 ) {
    error += ' + Citta è un campo richiesto \n';
    submitform = false;
    }
    if (citta.length > 15 ) {
    error += ' + Citta può essere massimo 15 caratteri \n';
    submitform = false;
    }
    if (citta.length > 1 && citta.match(strIllegalChars)) {
    error += ' + Citta contiene caratteri non consentiti \n';
    submitform = false;
    }

    if (cap.length < 4 ) {
    error += ' + Cap è un campo richiesto \n';
    submitform = false;
    }

    if (cap.length > 4 && isNaN(cap) ) {
    error += ' + Cap contiene caratteri non consentiti \n';
    submitform = false;
    }

    if (submitform) {
    obj.submit();
    }
    else {
    error += '\n************************* REGISTRAZIONE *************************\n\n';
    alert (error);
    return false;
    }
    }
    -->
    </SCRIPT>
    <FORM ACTION="<%=MM_editAction%>" name=registrationForm
    onreset="return confirm('Sei sicuro di voler cancellare tutti i dati nel form?')"
    method=POST>

    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td colspan="5"><div align="center" class="Stile4">Compila il modulo per chiudere il tuo ordine effettuato su ebay </div></td>
    </tr>
    <tr>
    <td colspan="5"><span class="Stile2">a</span></td>
    </tr>
    <tr class="Stile1">
    <td width="14%" align="right" valign="top" class="Stile5"><div align="right" class="Stile1">Nome</div></td>
    <td width="40%" align="center" valign="middle" class="Stile5">
    <div align="left"> <span class="Stile3">a</span>
    <input name="nome" type="text" id="nome">
    </div></td>
    <td width="16%" valign="top" bgcolor="#FFFFFF" class="Stile5"><div align="right" class="Stile1">Cognome</div></td>
    <td width="29%" valign="middle" class="Stile5">
    <div align="left"> <span class="Stile3">a</span>
    <input name="cognome" type="text" id="cognome">
    </div></td>
    <td width="1%"></td>
    </tr>
    <tr class="Stile1">
    <td colspan="5" align="right" valign="top" class="Stile5"><span class="Stile2">a</span></td>
    </tr>
    <tr class="Stile1">
    <td valign="top" class="Stile5"><div align="right" class="Stile1">Indirizzo</div></td>
    <td class="Stile5"><div align="left"> <span class="Stile3">a</span>
    <input name="indirizzo" type="text" id="indirizzo">
    </div></td>
    <td valign="top" class="Stile5"><div align="right" class="Stile1">Citt&agrave;</div></td>
    <td class="Stile5"><div align="left"> <span class="Stile3">a</span>
    <input name="citta" type="text" id="citta">
    </div></td>
    <td></td>
    </tr>
    <tr class="Stile1">
    <td colspan="5" class="Stile5"><span class="Stile2">a</span></td>
    </tr>
    <tr class="Stile1">
    <td valign="top" class="Stile5"><div align="right" class="Stile1">Provincia</div></td>
    </div></td>
    <td valign="top" class="Stile5"><div align="right" class="Stile1">C.A.P.</div></td>
    <td class="Stile5"><div align="left"> <span class="Stile3">a</span>
    <input name="cap" type="text" id="cap" size="10" maxlength="5">
    </div></td>
    <td></td>
    </tr>
    <tr class="Stile1">
    <td colspan="5" class="Stile5"><span class="Stile2">a</span></td>
    </tr>
    <tr class="Stile1">
    <td valign="top" class="Stile5"><div align="right" class="Stile1">Stato</div></td>
    <td class="Stile5">
    <div align="left"> <span class="Stile3">a</span>
    <input name="stato" type="text" id="stato" value="Italia">
    </div></td>
    <td valign="top" class="Stile5"><div align="right" class="Stile1">E-Mail</div></td>
    <td class="Stile5"><div align="left"> <span class="Stile3">a</span>
    <input name="email" type="text" id="email">
    </div></td>
    <td></td>
    </tr>
    <tr class="Stile1">
    <td colspan="5" class="Stile5"><span class="Stile2">a</span></td>
    </tr>
    <tr class="Stile1">
    <td height="19" valign="top" class="Stile5"><div align="right" class="Stile1">Spedizione</div></td>
    <td class="Stile5">
    <div align="left"><span class="Stile3">a</span>
    <select name="modsped" size="1" id="select">
    <option value=" "> </option>
    <option value="Raccomandata">Raccomandata</option>
    <option value="Posta Prioritaria">Posta Prioritaria</option>
    <option value="Pacco Celere 1">Pacco Celere 1</option>
    <option value="Pacco Celere 3">Pacco Celere 3</option>
    </select>
    </div></td>
    <td valign="top" class="Stile5"><div align="right" class="Stile1">Tipo pagamento </div></td>
    <td valign="top" class="Stile5"><div align="left"><span class="Stile3">a</span>
    <select name="modpag" size="1" id="modpag">
    <option value=" "> </option>
    <option value="Ricarica Poste Pay">Ricarica Poste Pay</option>
    <option value="Bonofico Bancario">Bonofico Bancario</option>
    <option value="Paypal">Paypal</option>
    </select>
    </div></td>
    <td></td>
    </tr>
    <tr class="Stile1">
    <td height="10" colspan="5" class="Stile6">a</td>
    </tr>
    <tr class="Stile1">
    <td height="19" align="left" valign="top" class="Stile1"><div align="right" class="Stile1">Prodotto </div></td>
    <td align="left" valign="top" class="Stile5"><div align="left"> <span class="Stile3">a</span>
    <select name="prod" size="1" id="prod">
    <option value="Swap Magic 3.6 + Slide card">Swap Magic 3.6 + Slide card</option>
    <option value="Slim Tools + Swap Magic 3.6">Slim Tools + Swap Magic 3.6</option>
    </select>
    </div></td>
    <td align="left" valign="top" class="Stile5"><div align="right" class="Stile1">Quantit&agrave;</div></td>
    <td align="left" valign="top" class="Stile5"><div align="left"><span class="Stile3">a</span>
    <select name="qta" size="1" id="qta">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    </select>
    </div></td>
    <td></td>
    </tr>
    <tr class="Stile1">
    <td height="10" colspan="5" class="Stile5"><span class="Stile2">a</span></td>
    </tr>
    <tr>
    <td height="19" colspan="4" valign="top" class="Stile5"><div align="center">
    <input name="Submit" type="submit" id="Submit" value="Invia">
    <input name="cancella" type="reset" id="cancella" value="Cancella">

    ma lo script di controllo dei campi non funziona, qualcuno sa perchè?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    In javascript i nomi usati devono essere univoci e non generare difficolta' di interpretazione.

    Per esempio, se dopo questo:

    var cognome = obj.cognome.value;

    tu usi:

    if (cognome.length < 1)

    l'interprete non riesce a capire se ti riferisci alla variabile o al campo del form :master:

    Differenzia i nomi delle variabili usate nello script.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    62
    Ma in un'altra pagina lo stesso codice funziona, ho praticamente fatto un copia-incolla...

    Per curiosità ho fatto come hai detto tu ma non è cambiato nulla.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ora che guardo meglio la funzione non la richiami proprio... verifica il tuo copia/incolla.

    Forse devi sostituire il tasto submit con un button:

    <input name="Submit" type="button" id="Submit" value="Invia"
    onclick="DoSubmit(this.form)">


    Comunque il mio precedente appunto e' giusto... il fatto che funzioni non significa che lo fara' anche domani con un browser meno compiacente.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    62
    E' vero! Cavolo, ecco cos'era... Grazie mille!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    62
    Una delucidazione, se volessi aggiungere un po' di codice per controllare un checkbox come potrei fare?

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    ...
    var w_mioCheck = obj.mioCheck.checked;
    ...
    ...
    if (w_mioCheck == false) {
    error += ' + mioCheck è richiesto \n';
    submitform = false;
    }
    ...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    62
    Sempre grazie!

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.