2017-04-05 8 views
2

Basicly ausführen:einreichen machen Taste habe ich diese Funktion eine Funktion

function testLength(){ 
    var input1 = document.getElementById("input1").value 
    var input2 = document.getElementById("input2").value 

    alert("test") 
    if (input1.length < 2 && input2.lenght < 2){ 
     alert("Please enter more then one symbol"); 
     return false 
    } 
} 

und ein intputs:

<input type="text" name="input1" id="input1"> 
<input type="text" name="input2" id="input1"> 
<input type="submit" onclick="testLength();" value="press me"> 

die Idee ist, wenn die Eingänge 1 Zeichen lang sind, nicht die Vorlage erlauben, aber obwohl Selbst wenn meine Eingaben 1 Zeichen lang sind, scheint es nicht in die if-Anweisung zu gehen, die (wie ich annehme) die submit-Schaltfläche stoppen sollte. Irgendeine Idee warum?

Antwort

0

Sie an Dinge wie <form onsubmit="return testLength()"> aussehen sollte.

Die Funktion wird nicht übergeben, wenn die Funktion false zurückgibt.

+0

Ok, also habe ich es geschafft, Submit-Button von seiner Sache zu stoppen. Ich kann es immer noch nicht durch die if-Anweisung gehen, aus irgendeinem Grund gibt es false zurück (die Bedingung), egal, was ich eingeben: S – Konulv

+0

Welchen Code verwenden Sie? Es gibt einen Tippfehler in dem Code in Ihrer Frage: Länge statt Länge – kecalace

+0

\ * facepalm * Es kam also nur darauf an, dass ich nicht richtig buchstabieren konnte. Es funktioniert jetzt gut. Danke <3 – Konulv

0

Verwenden Sie das onsubmit Ereignis:

<form onsubmit="return testLength();"> 
    <input type="text" name="input1"> 
    <input type="text" name="input2"> 
    <input type="submit" value="press me"> 
</form> 

Für weitere Informationen, lesen Sie: How to prevent form from being submitted?

0

Unter der Annahme, dass Ihre Eingaben und Senden Schaltfläche in einem <form> Element sind, ist das Standardverhalten des Formulars (die eigentlich gesendet werden soll), was passieren wird. Vielleicht möchten Sie einen Ereignis-Listener für das Ereignis submit des Formulars hinzufügen und dort Ihre Validierungen durchführen.

HTML

<form id="my-form"> 
    <input type="text" name="input1"> 
    <input type="text" name="input2"> 
    <input type="submit" value="press me"> 
</form> 

Javascript

var form = document.getElementById('my-form'); 
form.onsubmit = function() { 
    var input1 = document.getElementById("input1").value 
    var input2 = document.getElementById("input2").value 

    alert("test") 
    if (input1.length < 2 && input2.lenght < 2){ 
     alert("Please enter more then one symbol"); 
     return false 
    } 
} 
0

Neben onsubmit, können Sie auch die eventlistener verwenden.

zB:

document.querySelector('').addEventListener('click', testLength); 

HTML

<form id="my-form"> 
    <input type="text" name="input1"> 
    <input type="text" name="input2"> 
    <input type="submit" id="submit" value="press me"> 
</form> 

JAVASCRIPT

document.getElementById('submit').addEventListener('click', testLength); 
    function testLength(){ 
    var input1 = document.getElementById("input1").value 
    var input2 = document.getElementById("input2").value 

    alert("test") 
    if (input1.length < 2 && input2.lenght < 2){ 
     alert("Please enter more then one symbol"); 
     return false 
    } 
} 

Der Ereignis-Listener mit querySelector und getElementByID nicht nur verwenden werden können, aber mit jedem Ziel Sie definiert siehe here auf der Dokumentation.

Verwandte Themen