2016-04-12 2 views
1

Problem: Ich versuche, einen Rückgabewert von einer Funktion in ein Eingabefeld zu übertragen.Wert von einer Funktion in ein Eingabefeld übergeben

Ich bekomme keine Fehler, das Feld ist nur leer.

Frage: Warum funktioniert mein Code nicht?

HTML

<tr> 
<td>Quantity to be dredged</td> 
<td><input type="number" class="" id="shorePipe"></input></td> 
</tr> 

JavaScript

var shorePipe = function() { 
    var val = 100; 
    var val2 = 100; 
    var total = val * val2/100; 
    // return total; 
    document.getElementById('shorePipe').value = total; 
}; 

Vielen Dank im Voraus!

+0

* readyonly * ist kein gültiges HTML-Attribut. –

+1

erhalten Sie irgendwelche Fehler?Bitte lesen Sie auch unsere [ask] Seite, um Ihnen zu helfen, die Frage zu verbessern – ochi

+0

Ich denke, Sie wissen es, aber Sie haben einen Tippfehler in readyonly, sollte nur gelesen werden. Sie brauchen auch nicht – Alfonso

Antwort

2

Da Ihr Code perfekt funktioniert gut (neben </input>), die einzige Frage, die ich hier sehe, ist, dass Sie wahrscheinlich nicht Rufen shorePipe(); einmal das DOM ist gelesen und bereit.

jsBin demo

vor dem Tag </body> Schließung setzen Sie Ihre JS rechts So auch

<script> 
var shorePipe = function() { 
    var val = 100; 
    var val2 = 100; 
    var total = val * val2/100; 
    // return total; 
    document.getElementById('shorePipe').value = total; 
}; 
shorePipe(); 
</script> 

</body> 

Hinweis, dass </input> ungültig ist. <input> ist in der Gruppe void elements und sollte kein schließendes Tag haben.

+0

Plunkr für Sie: https://embed.plnkr.co/upBqdXfWKNaCg3zIwxDp/ –

+0

Ich hasse jsBin, also hier ist ein jsFiddle für Sie: https://jsfiddle.net/2vxdyvgz/ –

+0

Es ist ein Witz. Sie sind alle gleich, wo ist dein Sinn für Humor? –

0
  1. Der Eingang muss sich nicht selbst schließen.
  2. Stellen Sie sicher, dass Sie Ihre JS-Funktion tatsächlich irgendwo aufrufen.

habe ich diese JSFiddle für Sie: https://jsfiddle.net/pd12edbp/2/

<input type="number" class="" id="shorePipe" readyonly> 

JS:

var shorePipe = function() { 
    var val = 100; 
    var val2 = 100; 
    var total = val * val2/100; 
    // return total; 
    document.getElementById('shorePipe').value = total; 
}; 

$(document).ready(function(){ 
    shorePipe(); 
}); 
0

in Ihrer ursprünglichen Post, den Wert auf das Element mit der ID shorePipe wurden vorbei, und Ihr Eingang hatte ID avgSubPipe

Element IDs müssen übereinstimmen. und müssen Sie die Funktion feuern

die HTML-

<tr> 
<td>Quantity to be dredged</td> 
<td><input type="number" class="" id="avgSubPipe" readonly ></td> 
</tr> 

und Javascript:

var shorePipe = function() { 
    var val = 100; 
    var val2 = 100; 
    var total = val * val2/100; 
    // return total; 
    document.getElementById('shorePipe').value = total; 
}; 

// calling function 
shorePipe(); 

https://jsfiddle.net/yhz7syhs/1/

Verwandte Themen