簡體   English   中英

Javascript函數沒有返回值

[英]Javascript function not returning a value

我有一個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/

提前致謝

輸入元素沒有子節點,因此innerHTML是空白的。 如果要讀取其值,請使用value屬性。

你的路線:

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

應該:

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

然后你可以得到文本輸入的值,如下所示:

var newmnthchk = mnthchk.value;

在這里工作JS小提琴: http//jsfiddle.net/rn5HH/10/

使用document.getElementById("mdamountBox").value

這里的問題是你想要獲取innerHtml,你想要的值。 從你的小提琴,只需改變這一行:

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

......對此:

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

檢查以下代碼:

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").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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM