Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [PHP] problema con firefox di un form

    Salve a tutti,

    nel mio sito sto dando la possibilità di invitare delle persone nel sito inserendo le email e poi inviando il form. Tuttavia per controllare che le email siano corrette inserisco alla destra di ogni campo un pulsante che verifica l'esattezza dell'email. Il problema è che, mentre con internet explorer, google chrome e safari il tutto funziona correttamente, in firefox, quando si preme il pulsante che verifica l'email con una funzione javascript, non capisco come mai mi parte il form. Nel codice javascript non c'è acun riferimento all'invio del form quindi suppongo che l'errore sia nel codice del form stesso. Posto il codice:


    codice:
    <form name='Modulo' method="post" action="Invitocontest.php">
    </p>
    <table width='100%'><tr><td width='20%'>Utente 1</td><td width='20%'><ul id='Usernames'>[*]<input name="User1" type="text" /><ul id='Usernames2'>[/list][/list]</td><td width='60%' id='user1'><button onclick='user1()'>Cerca User</button></td></tr>
    <tr><td width='20%'>Utente 2</td><td width='20%'><ul id='Usernames'>[*]<input name="User2" type="text" /><ul id='Usernames3'>[/list][/list]</td><td width='60%' id='user2'><button onclick='user2()'>Cerca User</button></td></tr>
    <tr><td width='20%'>Utente 3</td><td width='20%'><ul id='Usernames'>[*]<input name="User3" type="text" /><ul id='Usernames4'>[/list][/list]</td><td width='60%' id='user3'><button onclick='user3()'>Cerca User</button></td></tr>
    <tr><td width='20%'>Utente 4</td><td width='20%'><ul id='Usernames'>[*]<input name="User4" type="text" /><ul id='Usernames5'>[/list][/list]</td><td width='60%' id='user4'><button onclick='user4()'>Cerca User</button></td></tr>
    <tr><td width='20%'>Utente 5</td><td width='20%'><ul id='Usernames'>[*]<input name="User5" type="text" /><ul id='Usernames6'>[/list][/list]</td><td width='60%' id='user5'><button onclick='user5()'>Cerca User</button></td></tr></table>
    </FORM>
    
    <button onclick='inviaform()'>Invia</button>
    I tag ul e li mi permettono di inserire sotto la barra dove si scrive l'email le eventuali possibilità di email corrette con un menu a tendina.
    Vi ringrazio per l'aiuto.

  2. #2
    Metti il pulsante

    <button onclick='inviaform()'>Invia</button>

    prima della chiusura del form

    </form>

    vedi se firefox ti da ancora problemi
    DigitalWeb Italia - 333.7806821 / info@digitalwebitalia.it

  3. #3
    Salve,
    prima di tutto la ringrazio per aver risposto.
    Purtroppo però firefox anche così mi da problemi, riconoscendo i pulsanti alla destra dei campi ancora come pulsanti per inviare il form

  4. #4
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    Ciao ,
    nel codice js dove fai il controllo dopo tutti i controlli aggiungi questa riga
    codice:
    else { 
              
    document.modulo.action = "Invitocontest.php";            
    document.modulo.submit();
    
    }
    mentre action del form deve essere vuoto (action='') o lo elimini proprio

  5. #5
    Ciao,
    prima di tutto ti ringrazio per la risposta, però da quanto so io l'else deve stare dopo un if cioè se ho una funzione del tipo:


    codice:
    function controllo_email(email){
    //istruzioni
    
    }
    Non ci posso mettere un else se non ho una if... e la if dove la creo? Cioè nel controllo io ho una if che mi dice che se l'email non è di un determinato tipo allora deve correggere, ma inserendoci dopo la tua else, nel momento in cui uno controlla la prima volta l'email, se è corretta parte il form e non mi sta bene perchè i campi delle email sono 5.... partirebbe il form con solo il primo campo email compilato... non so se ho reso l'idea...

  6. #6
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    Posta il codice js,vedo se si puo fre qualcosa

  7. #7
    Rivedendo bene il codice di prima ho inserito quello che ha a che fare con un form degli Username che mostra lo stesso problema, quindi posto il codice js dello username:


    codice:
    function CreateXmlHttpReq(handler) {
      var xmlhttp = null;
      try {
        xmlhttp = new XMLHttpRequest();
      } catch(e) {
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
      xmlhttp.onreadystatechange = handler;
      return xmlhttp;
    }
    
    
    
    
    
    function user1(){
    
    function myHandler() {
        if (myRequest.readyState == 1) {
            document.getElementById('user1').innerHTML="Attendere prego...";
        }
        if (myRequest.readyState == 4 && myRequest.status == 200) {
            document.getElementById('Usernames2').innerHTML=myRequest.responseText;
    		document.getElementById('Usernames2').style.display="block";
    		Modulo.User2.style.display="none";
    		Modulo.User3.style.display="none";
    		Modulo.User4.style.display="none";
    		Modulo.User5.style.display="none";
    		document.getElementById('user1').innerHTML="<button onclick='user1()'>Cerca User</button>";
        }
    }
    
    
        var r=Math.random();
        myRequest = CreateXmlHttpReq(myHandler);
    	var user=Modulo.User1.value;
        myRequest.open("GET","Invita_contest2.php?user1="+user+"&u1=1&rand="+escape(r));
        myRequest.send(null);
    }
    Ho inserito delle richieste ajax che fanno capo ad un altro script php per verificare che lo username sia corretto.

  8. #8
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    Susa avevo capito male io ,
    prova questo codice qui nel form:

    codice:
    <input type="button" onclick='document.Modulo.user5()' value="Cerca User"/>
    <input type="button" onclick='document.Modulo.user1()' value="Cerca User"/>
    <input type="button" onclick='document.Modulo.user2()' value="Cerca User"/>
    <input type="button" onclick='document.Modulo.user3()' value="Cerca User"/>
    <input type="button" onclick='document.Modulo.user4()' value="Cerca User"/>
    <input type="button" onclick='document.Modulo.user5()' value="Cerca User"/>
    al posto di <button onclick='user4()'>Cerca User</button>

  9. #9
    Ciao,
    di funzionare il tuo metodo funziona, però non so perchè ajax non funziona funziona con gli altri browser tranne che con firefox il codice l'ho postato prima.... secondo

  10. #10
    Ho risolto il problema semplicemente modificando la funzione javascript di ajax dove invece di scrivere Modulo.submit() o Modulo.User1.value ho scritto document.Modulo.submit() e document.Modulo.User1.value
    In questo modo tutto ha funzionato!
    Grazie mille a tutti per l'aiuto!

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.