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

    onSubmit che cancella i dati del form

    ciao,
    ho una form che all'evento onSubmit chiama una funzione javascript:

    codice:
    <form name="regUserForm" method="post" action="http://www.google.com"  onSubmit="return reg_user();">
    la function 'reg_user()' va semplicemente dei controlli sui dati inseriti nella form..
    nel caso mi torni 'false', perdo il contenuto dei campi del form!

    non riesco a capire come mai... dentro la funzione javascript non effettuo nessuna operazione strana, solo controlli!

    esiste un motivo di cui non sono al corrente?

    voi lo sapete?
    eddai ditelo anche a me


    grazie
    mauro

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non ha ragione d' essere, quindi posta l' xhtml del form e lo script richiamato

  3. #3
    questo è l'xhtml! viene incluso tramite php al template

    codice:
    <p id="errmsg" style="visibility:hidden;display:none;font-size:14px;color:red;"></p>
    <form name="regUserForm" method="post" action="php/prova.php"  onSubmit="return reg_user();">
       <table width="50%" border="0">
        <tr>
          <td><label>Nome Reale</label></td>
          <td><input type="text" name="realname" id="realname" /></td>
        </tr>
        <tr>
          <td><label>Matricola</label></td>
          <td><input type="text" name="matricola" id="matricola" /></td>
        </tr>
        <tr>
          <td><label>Email</label></td>
          <td><input type="text" name="email" id="email" /></td>
        </tr>
        <tr>
          <td><label>Nome utente</label></td>
          <td><input type="text" name="username" id="username" /></td>
        </tr>
        <tr>   
          <td><label>Password</label></td>
          <td><input type="password" name="pwd" id="pwd" /></td>
        </tr>
        <tr>
          <td>Ripeti Password</td>
          <td><input type="password" name="pwd2" id="pwd2" /></td>
        </tr>
        <tr>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td></td>
          <td>
          
    
    
           <label>
            <input type="reset" name="reset" id="reset" value="Reset" />
            <input type="submit" name="invia" id="invia" value="Invia" />
           </label>
          </td>
        </tr>
      </table>
    </form>
    e questo invece è il codice javascritp della funzione 'reg_user()'

    codice:
    function reg_user()
    {
    	var e = document.getElementById('errmsg');
    	e_cont = '';
    	$err1 = false;
    	
    	var email = document.regUserForm.email;
    	var nome = document.regUserForm.realname;
    	var matricola = document.regUserForm.matricola;
    	var username = document.regUserForm.username;
    	var pwd = document.regUserForm.pwd;
    	var pwd2 = document.regUserForm.pwd2;
    	
    	elemArray = new Array(nome, matricola, email, username, pwd, pwd2);
    	
    	
    	for (i = 0; i < elemArray.length; i++)
    	{
    		if ( (elemArray[i].value == null) || (elemArray[i].value == "") )
    		{
    			$err1 = true;
    			break;
    		}
    	}
    	
    	if ($err1) 
    	{
                 e.style.visibility = 'visible';
                 e.style.display = 'block';
                 e_cont = '* Inserisci tutti i dati !
    ';
            }
        
    	if (echeck(email.value) == false)
    	{
    		e.style.visibility = 'visible';
                    e.style.display = 'block';
                    e_cont += '* Formato email errato !
    ';
    	}
    	
    	if (pwd.value != pwd2.value)
    	{
    		e.style.visibility = 'visible';
                    e.style.display = 'block';
                    e_cont += '* Inserisci correttamente la password
    
    ';
    	}
    	
    	if (e_cont != '')
    	{
    		e.innerHTML = e_cont;
    		return false;
    	}
    	else
    		return true;
    }

    hummm, bò!

    grazie

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    rimuovi quel label dal reset/submit, dopo dovrebbe funzionare
    ciao

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova pure ad usare nomi di variabili diversi dai nomi degli elementi del form

    var email = document.regUserForm.email;
    var nome = document.regUserForm.realname;
    var matricola = document.regUserForm.matricola;
    var username = document.regUserForm.username;
    var pwd = document.regUserForm.pwd;
    var pwd2 = document.regUserForm.pwd2;

    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

  6. #6
    perfetto!
    ho tolto il label e funziona !

    ma come mai? perchè label gli dava così fastidio?



    comunque, troppo gentili!


    mauro

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e' un uso improprio delle label, in quel punto ma anche nel resto del codice
    le label hanno un senso se c'e' un for che punta all' id su cui emulare il click
    codice:
    <td><label for="matricola">Matricola</label></td>
    <td><input type="text" name="matricola" id="matricola" /></td>
    nel punto specifico quando clicchi sul submit clicchi anche sulla label che lo contiene
    che come risultato genera il click sul reset
    ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.