2016-12-27 1 views
1

Wenn ich auf die Schaltfläche zum Senden klicken, verursacht es Aktualisieren Seite! Aber nachdem ich den Tag löschen, es funktioniert well.What, ist das Problem dieser, wie kann ich dieses Problem zu vermeiden, ohne das Etikett zu löschen, sind die Codes wie folgt: <form/> Tag Ursachen Aktualisieren Seite

<script language="javascript" type="text/javascript"> 
 
\t function password() { 
 
\t var word = document.getElementById("password"); 
 
\t var load = document.getElementById("display"); 
 
\t if(word.type=="password"){ 
 
\t \t word.type = "text"; 
 
\t \t load.value = "hidden" 
 
\t } 
 
\t else{ 
 
\t \t word.type = "password"; 
 
\t \t load.value = "display"; 
 
\t } 
 
\t } 
 
</script> 
 
<form> 
 
<input type="password" name="password" value="password" id="password" /> 
 
<input type="submit" name="display" onclick="password()" value="display" id="display"/> 
 
</form>

+0

löschen Sie die

Tag – boyden

+6

Was ist es, Sie denken, das '' Tag soll * angeblich * tun? – Pointy

+0

überprüfen Sie bitte diese Verbindungen http://stackoverflow.com/q/19454310/6572922 http://stackoverflow.com/q/1878264/6572922 –

Antwort

4

Typ ändern Eingabe von submit zu button

<input type="button" name="display" onclick="password()" value="display" id="display"/> 

<input type="button" /> Tasten nicht ein Formular einreichen - sie standardmäßig nicht alles tun. Sie werden normalerweise in Verbindung mit JavaScript als Teil einer AJAX-Anwendung verwendet.

<input type="submit"> Schaltflächen übermitteln die Form, in der sie sich befinden, wenn der Benutzer auf sie klickt, sofern Sie nicht anders mit JavaScript angeben.

Oder

Sie stoppen Formular mit Javascript einreichen

$("form").submit(function(e) { 
    e.preventDefault(); 
}); 
+2

Op ist nicht mit jQuery getaggt und wird nicht verwendet. Es ist daher nicht angebracht, bibliotheksabhängige Antworten zur Verfügung zu stellen ... vor allem, wenn Sie es nicht einmal als solche definieren. – charlietfl

+0

Für die zweite Option mit Vanille JS: 'var elem = document.getElementbyId ('display'); elem.addEventListener ('click', function (e) {e.preventDefault(); passwort();}); ' –

1

Sie können dies auch tun:

<form action="demo_form.asp" onsubmit="javascript:return false"> 

zu verhindern Formular aus.

Natürlich, wenn Sie das Formular abzuschicken müssen (zum Beispiel, nachdem Sie die Validierung getan haben, das Formular Hygienisierung), haben Sie dies tun:

document.querySelector('form').submit() 
+0

Das" javascript: "- Protokoll-Präfix auf Ihrem' onsubmit'-Attributwert ist nicht notwendig, alle 'on _____' Attribute erwarten, dass der Inhalt JavaScript-Code ist – scunliffe