2016-09-09 3 views
-1

Ich bin mir sicher, dass dies grundlegende Dinge sind, aber ich möchte jede Texteingabe, die leer ist, um einen Wert von Null zu haben, so dass es immer noch in einer Funktion enthalten sein kann und nicht mit der letzte Summe der Gleichung.leere Texteingaben auf null setzen mit Javascript

Im Moment stelle ich gerade <input type="text" id="id" value="0"> ein, da nichts durch eine var value = document.getElementById("id"); geteilt wird, aber ich möchte die Nullen nicht in den Textfeldern sehen.

Gibt es einen besseren Weg, keine leeren Eingaben in eine Gleichung aufzunehmen?

+0

Sie können das Attribut 'Platzhalter' verwenden. '' – choz

Antwort

0

Den Wert nicht am Eingang einstellen. Verwenden Sie keinen Platzhalter, der in der Eingabe angezeigt wird.

var value = document.getElementById("id").value; 

if (value !== "") { 
    //use it here 
} 
0

Sie können das || Operator zusammen mit einem Standardwert zu leeren Textfelder (oder keine vorhanden sind) ausschließen alle in einer Zeile:

var value = document.getElementById("id").value || "0"; 

Oder, wenn Sie einen Integer-Wert soll (da es aussieht wie du gehst Berechnungen zu tun):

var value = +document.getElementById("id").value || 0; 
+0

Danke, neu zu diesem Zeug, aber es scheint so zu sein, lässt mich 'parseFloat()' ausschließen und ich hasse das nicht . –

0

da Sie für einen numerischen Wert sind momentan in einer Gleichung verwendet werden, können Sie die Berechnungen alle intern tun, nur um avo id diese Werte in den Eingängen zum Beispiel Anzeigen:

var value = parseInt(document.getElementById("id")); 

if(isNaN(value)){ 
    value = 0; 
} 

Sie sich das Ergebnis analysieren int (oder float, jede Art, die für Sie arbeitet), dann überprüfen Sie, ob es eine gültige Zahl ist, und wenn nicht , dann weisen Sie ihm einfach den Wert Null zu. Auf diese Weise können Sie es in Ihrer Gleichung verwenden, und Sie müssen diese Null in der Eingabe nicht anzeigen.