2016-07-16 20 views
0

Ich arbeite gerade an einem Projekt, und ich muss eine Warnmeldung Pop-up machen, wenn der Benutzer einen Wert eingibt, der keine Nummer ist. Ich habe eine for-Schleife dafür erstellt und es funktioniert, aber wenn ich etwas eintippe, das keine Nummer ist, friert meine Webseite ein und ich muss sie schließen. Ich kann nicht herausfinden, was ich falsch mache. Hier ist der Code, den ich habe.Warum ist meine for-Schleife in JavaScript, die meine Webseite einfriert?

var Y=1 

    for(var i = 0; i < Input.length; i++) 
    { 
    if(isNaN(Input.charAt(i))) 
    { 
     alert("Parameter is Not A Number"); 
     Y = 0; 
    } 
    } 
+1

Was bedeutet Input.length =? –

+1

Ich glaube nicht, dass die Schleife das Problem ist. – Pointy

+1

Versuchen Sie, nach 'Y = 0;' eine Anweisung 'break;' einzufügen. – afuous

Antwort

0

Wenn Sie HTML5 verwenden, können Sie einfach durch eine Benutzereingabe in numerische Werte begrenzen

<input type="number"> 

Versuchen Sie, diese Angabe, wenn Sie Feld und Sachen zu alarmieren haften möchten

<input type="input" id="edit1"/> 

Js

$(document).ready(function(){ 
    $('[id^=edit]').keypress(validateNumber); 
}); 

var Y=1 

function validateNumber(event) { 
var key = window.event ? event.keyCode : event.which; 
if (key < 48 || key > 57) { 
     alert("Parameter is Not A Number"); 
     Y = 0; 
    } 
    else return true; 
};