0

テキストボックスの値をチェックする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>

そしてジャバスクリプト

 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/である方法です。

前もって感謝します

4

5 に答える 5

1

あなたの行:

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

次のようにする必要があります。

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

次に、次のようにテキスト入力の値を取得できます。

var newmnthchk = mnthchk.value;

JS Fiddle の作業: http://jsfiddle.net/rn5HH/10/

于 2013-05-14T16:22:54.657 に答える
0

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

于 2013-05-14T16:21:03.603 に答える
0

以下のコードを確認してください:

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;
于 2013-05-14T16:38:13.870 に答える
0

ここでの問題は、値が必要な innerHtml を取得しようとしていることです。フィドルから、次の行を変更するだけです:

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

...これに:

var mnthchk = document.getElementById("mdamountBox").value;
于 2013-05-14T16:21:54.350 に答える