2016-04-12 2 views
1

Проблема: Я пытаюсь передать возвращаемое значение из функции в поле ввода.Передача значения из функции во входное поле

У меня нет ошибок, поле пусто.

Вопрос: Почему мой код не работает?

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; 
}; 

Заранее спасибо!

+0

* readyonly * не является допустимым атрибутом HTML. –

+1

есть ли у вас ошибки?также, пожалуйста, прочитайте нашу страницу [ask], чтобы помочь вам улучшить вопрос. – ochi

+0

Я думаю, вы это знаете, но у вас есть опечатка в готовом виде, должна быть только для чтения. Кроме того, вам не нужен – Alfonso

ответ

2

Поскольку ваш код работает прекрасно (кроме </input>), единственная проблема, которую я вижу в том, что вы, вероятно, не вызывая shorePipe(); после DOM считывается и готово.

jsBin demo

Так положить JS прямо перед закрывающим тегом </body>

<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> 

Отметим также, что </input> является недействительным. <input> находится в группе void elements и не должен иметь закрывающий тег.

+0

Plunkr для вас: https://embed.plnkr.co/upBqdXfWKNaCg3zIwxDp/ –

+0

Ненавижу jsBin, так что вот вам jsFiddle: https://jsfiddle.net/2vxdyvgz/ –

+0

Это шутка. они все одинаковые, где ваше чувство юмора? –

0
  1. Ввод не требует закрытия.
  2. Убедитесь, что вы действительно называете свою функцию JS.

Я создал этот JSFiddle для вас: 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

в исходном сообщении, вы передавая значение элемента с идентификатором shorePipe, и ваши вход был ID avgSubPipe

ID элемента должен соответствовать. и вы должны стрелять функция

в HTML

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

и 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/

Смежные вопросы