2017-03-29 4 views
0

Ich möchte 2 Felder zusammen mit JavaScript-Code validieren. Was ich mache, ist das Deaktivieren der Übermittlungsschaltfläche, wenn der Benutzer ungültige Daten eingibt.Wie validiere ich zwei oder mehr Felder zusammen in Javascript?

Etwas wie folgt aus:

Disabled Button when incorrect data is entered

Das Problem ist, dass, wenn ich ungültige Daten eingeben im Feld 1 die Schaltfläche deaktiviert ist, aber wenn ich die richtige Formulardaten in der zweiten Feld hinzufügen wird die Taste wieder aktiviert, i selbst verwendete globale Variable, aber das Problem besteht immer noch.

Button enabled even if data in first field is wrong

Mein JavaScript-Code ist:

<script> 
var sw=0; 
function valqid(qid){ 

if(isNaN(qid) || parseInt(qid)<0){ 
    alert("Please Enter Valid Question ID!"); 
    document.getElementById("button").disabled = true; 
    window.sw=1; 
} 
else{ 
    if(window.sw==0){ 
    document.getElementById("button").disabled = false; 
} 
} 


} 

function valans(ans){ 

if(parseInt(ans)!=0 && parseInt(ans)!=1){ 
    alert("Please Enter Valid Answer!"); 
    document.getElementById("button").disabled = true; 
    window.sw=1; 
} 
else{ 
    if(window.sw==0){ 
    document.getElementById("button").disabled = false; 
} 
} 


} 
</script> 

Hier qid und ans sind vom Benutzer eingegebenen Werte.

Bitte sagen Sie mir, wie man es richtig funktioniert. (Validierungsregeln sind unten in Bilddateien aufgeführt)

Vielen Dank im Voraus.

komplette HTML-Code ist unten angegeben:

<html> 
<body> 
    <center> 
    <form action="add_questions.php" method="POST" name="form4"> <br /> <br /> 
    <table cellspacing="10" cellpadding="10" border="1"> 
    <tr> <th> Question ID </th> <th> Question </th> <th> Answer </th> </tr> 
    <tr> <td> <input type="text" name="question_id" maxlength="3" minlength="1" onchange="valqid(this.value)" required /> </td> <td> <input type="text" name="question" maxlength="200" minlength="10" id="ques" required /> </td> <td> <input type="text" name="answer" maxlength="1" onchange="valans(this.value)" required /> </td> </tr> 
    </table> <br /> <br /> 
    <input type="submit" value="Add Question" name="add_question" id="button" /> 
    </form> <br /> <br /> 
    <p> * Enter Question Id, Question & Answer of the question you want to add. </p> 
    <p> * All three are mandatory fields (cannot be empty). </p> 
    <p> * Question Id can be 3 numbers (Whole Numbers only) long at most and should be atleast 1 number (character).</p> 
    <p> * Question can be 200 characters long at most and should be atleast 10 characters. </p> 
    <p> * Answer field should be '1' for 'True' & '0' for 'False'.</p> 
    <p> * Question Id must be unique.</p> 

<script> 
var sw=0; 
function valqid(qid){ 

if(isNaN(qid) || parseInt(qid)<0){ 
    alert("Please Enter Valid Question ID!"); 
    document.getElementById("button").disabled = true; 
    window.sw=1; 
} 
else{ 
    if(window.sw==0){ 
    document.getElementById("button").disabled = false; 
} 
} 


} 

function valans(ans){ 

if(parseInt(ans)!=0 && parseInt(ans)!=1){ 
    alert("Please Enter Valid Answer!"); 
    document.getElementById("button").disabled = true; 
    window.sw=1; 
} 
else{ 
    if(window.sw==0){ 
    document.getElementById("button").disabled = false; 
} 
} 


} 
</script> 




</body> 
</html> ; 
+0

Warum haben Sie machen zwei Funktionen statt 1? –

+0

Da der Eingabewert zur Funktion kommt, wenn der Benutzer einen Wert eingibt. – BugAdder

+0

Ich kann die ganze HTML-Datei hochladen, wenn Sie möchten? – BugAdder

Antwort

0

Sie können diese einfache Art und Weise verwenden

<script> 
function valqid(qid){ 
if(isNaN(qid) || parseInt(qid)<0){ 
    alert("Please Enter Valid Question ID!"); 
    document.getElementById("button").disabled = true; 
} 
else if(parseInt(ans)!=0 && parseInt(ans)!=1){ 
    alert("Please Enter Valid Answer!"); 
    document.getElementById("button").disabled = true; 
    } 
else{ 
    document.getElementById("button").disabled = false; 
    } 
} 
</script> 
+0

Die Variable ans hat jedoch keinen Wert, es sei denn, die valans-Funktion wird aufgerufen. – BugAdder

+0

In diesem Fall sollten Sie einfach valqid() aufrufen; am Ende von Ihnen 2. Methode, Es wird der Status für die erste Methode, ob die erste Methode hat die Schaltfläche aktivieren oder deaktivieren –

+0

Lassen Sie mich den gesamten Code hochladen. – BugAdder

Verwandte Themen