0

私はこの機能を使用しようとしています:

function storagecalc(){
var thediv=document.forms["boxes"];
var boxno=thediv.elements["numbofboxes"];
var howmany =0;    //If the textbox is not blank    */
if(boxno.value!="")    
{        
howmany=parseInt(quantity.value);    
}
return howmany;
document.getElementById('numberprice').innerHTML = "£"+howmany;
}

ここに入力された値を取得するには:

<form action="" id="boxes">

<input type="text" id="numbofboxes" value="" name="boxnumber"/>

<button id="smtbxno" onclick="storagecalc">

<img src="images/tick.gif" alt="proceed"/>

</button>

</form>

ここに表示します。

<div id="grandtotal">

<p class="calctitles">

Grand Total

</p>

<p id="numberprice">

</p>

</div>

テキストボックスに値を入力してボタンをクリックしても何も起こりません。これは、クリックするとボタン自体とテキストボックスを非表示にするjQueryもあるからですか? なぜそれがうまくいかないのかについての提案はありませんか?

4

2 に答える 2

1

関数を割り当てていますが、呼び出していません:

<button id="smtbxno" onclick="storagecalc()" ... >...</button>
------------------------------------------^

また、フォームの要素コレクションのメンバーは、id ではなくnameで参照する必要があります。

var boxno=thediv.elements["boxnumber"];

少なくとも古いバージョンでは違いがわからない IE を混乱させる別の名前と ID を持っている理由がわかりません。

于 2012-07-18T22:59:26.107 に答える
1

javascript でテキスト入力要素を非表示にした場合、他の JavaScript 関数は入力された値に引き続きアクセスできますか?

入力要素への参照を (DOM セレクターを使用して変数を介して) 取得できるすべての JavaScript は、その値にアクセスできます。その要素の可視性は、これらのアクションのいずれにも影響しません。DOM からデタッチした場合にのみ、他の関数は DOM メソッドで選択できませんでした。


OK、あなたが私たちにくれた文書にはいくつかの誤りがあります:

  • <button onclick="storagecalc">何も実行しない場合は、関数を呼び出す必要があります: <button onclick="storagecalc();">. onclick js でプロパティにリスナーを割り当てる場合のみ、関数オブジェクトを使用する必要があります ( document.getElementById("smtbxno").onclick = storagecalc;)。
  • 関数自体でquantityundefined、(そして例外をスローする) 変数を使用します。それを修正する方法がわかりません。
于 2012-07-18T22:23:03.800 に答える