Javascript函数没有返回值

Javascript function not returning a value

本文关键字:返回值 函数 Javascript      更新时间:2023-09-26

我有一个javascript函数,检查文本框中的值,如果文本框不为空,则输出一条语句。文本框接受一个数字值,我想包括输出到html的数字值。

这里是html
   <br><label id="cancelphoneLabel">1-800-555-1111</label>
   <br><label id="mdamountLabel">Monthly Donation:
<td>
    <input type="text" id="mdamountBox" style="width:50px;" name="md_amt" value="" placeholder="Monthly" onkeyup="monthlycheck()" autocomplete="off">
   <br><label id="mnthlychkdiscoLabel">&nbsp;</label>

和Javascript

 function monthlycheck() {
var mnthchk = document.getElementById("mdamountBox").innerHTML; <---i want to pass the value of this box
var cancelPhone = document.getElementById("cancelphoneLabel").innerHTML;

if (mnthchk.value != "") {
    var newHTML = "<span style='color:#24D330'> Your Monthly pledge in the amount of $<label id='dollarLabel'>&nbsp;</label> is valid and will be deducted this time every month<br> untill you notify us of its cancellation by calling <label id='cancelphonelistLabel'>&nbsp;</label> </span>";
    document.getElementById("mnthlychkdiscoLabel").innerHTML = newHTML;
    document.getElementById("cancelphonelistLabel").innerHTML = cancelPhone;
    document.getElementById("dollarLabel").innerHTML = mnthchk;   <----passed to here

我无法获得传递的值,它只显示空白,我可以硬编码一个值并将输出良好,这就是jsfiddle目前的方式http://jsfiddle.net/rn5HH/4/

thanks in advance

输入元素没有子节点,因此innerHTML为空白。如果您想读取它们的值,请使用value属性。

你的台词:

var mnthchk = document.getElementById("mdamountBox").innerHTML;
应:

var mnthchk = document.getElementById("mdamountBox");

那么你可以像这样得到文本输入的值:

var newmnthchk = mnthchk.value;

工作的JS提琴在这里:http://jsfiddle.net/rn5HH/10/

use document.getElementById("mdamountBox").value

这里的问题是你试图得到innerHtml,你想要的值。从你的小提琴,只需改变这一行:

var mnthchk = document.getElementById("mdamountBox").innerHTML;

…:

var mnthchk = document.getElementById("mdamountBox").value;

检查下面代码:

<br><label id="cancelphoneLabel">1-800-555-1111</label>
<br><label id="mdamountLabel">Monthly Donation:
<td>
    <input type="text" id="mdamountBox" style="width:50px;" name="md_amt" value="" placeholder="Monthly" onkeyup="monthlycheck()" autocomplete="off">
<br><label id="mnthlychkdiscoLabel">&nbsp;</label>
Javascript代码

function monthlycheck() {
var mnthchk = document.getElementById("mdamountBox").value;
var cancelPhone = document.getElementById("cancelphoneLabel").innerHTML;

if (mnthchk.value != "") {
    var newmnthchk = '5';
    newmnthchk = mnthchk;
    var newHTML = "<span style='color:#24D330'> Your Monthly pledge in the amount of $<label id='dollarLabel'>&nbsp;</label> is valid and will be deducted this time every month<br> untill you notify us of its cancellation by calling <label id='cancelphonelistLabel'>&nbsp;</label> </span>";
    document.getElementById("mnthlychkdiscoLabel").innerHTML = newHTML;
    document.getElementById("cancelphonelistLabel").innerHTML = cancelPhone;
    document.getElementById("dollarLabel").innerHTML = newmnthchk;
}
}

这是在Fiddle上完美检查的工作代码,您需要使用

获取DOM值
var mnthchk = document.getElementById("mdamountBox").value;