2016-05-04 4 views
0

Die Javascript-Funktion FormQuote_Validator, die Formularfelder validiert, sollte "TRUE" zurückgeben und die Nachricht alarmieren, wenn alle drei Eingabefelder ohne Zahlen eingereicht werden, andernfalls sollte sie "FALSE" zurückgeben. HierWie wird der Operator "OR" für die Formularfeldvalidierung verwendet?

ist der HTML-Code:

<form id="gform_1" enctype="multipart/form-data" method="post" action=""> 
<div> 
    <li id="field_1_25"> 
    <label for="input_1_25">20 Amps</label> 
    <input type="number" tabindex="22" class="small" value="" step="any" id="input_1_25" name="input_25"> 
    </li> 

    <li id="field_1_26"> 
    <label for="input_1_26" class="gfield_label">30 Amps</label> 
    <input type="number" tabindex="23" class="small" value="" step="any" id="input_1_26" name="input_26"> 
    </li> 

    <li id="field_1_27"> 
    <label for="input_1_27">40 Amps</label> 
    <input type="number" tabindex="24" class="small" value="" step="any" id="input_1_27" name="input_27"> 
    </li> 
</div> 

<button onclick="FormQuote_Validator(gform_1)" type="button">Submit</button> 
</form> 

Dies ist Javascript:

function FormQuote_Validator(Form){ 
    if ((Form.input_25.value == "") || (Form.input_26.value == "") || (Form.input_27.value == "")){ 
    alert("Please input the size in Amps."); 
    Form.input_1_25.focus(); 
    return (false); 
    } 
} 

Aus irgendwelchen Gründen FormQuote_Validator Funktion gibt "TRUE", selbst wenn ein oder zwei Eingabefelder mit einigen numerischen Werten eingereicht . Stimmt etwas nicht mit dem Skriptcode? Jede Hilfe wäre willkommen!

+0

Was funktioniert nicht? Irgendein Fehler in der Konsole? Mach es ausgearbeitet _ "funktioniert nicht!" _ – Rayon

+0

Scheint, für mich zu arbeiten, siehe: https://jsfiddle.net/cdLyczr7/ –

Antwort

0

Da || OR bedeutet, das bedeutet, jeder der Eingänge nicht hat ausgefüllt werden.

Ich habe Ihren Code in einem codepen setzen, und ich bin das richtige Verhalten zu sehen.

Wenn die Warnmeldung angezeigt werden soll, wenn keine einzelne Eingabe ausgefüllt ist, sollten Sie AND (&&) verwenden.

+0

Das ist, was ich brauche -> "jeder der Eingänge muss nicht ausgefüllt werden". Es sollte nur dann "TRUE" zurückgegeben werden, wenn alle drei Eingabefelder ohne Werte übergeben wurden. – Alex

+0

Das passiert schon –

+0

Nein, es passiert nicht. Geben Sie einfach eine beliebige Zahl in das erste Eingabefeld ein und drücken Sie Senden. Warum gibt es immer noch "TRUE" zurück? – Alex

Verwandte Themen