3

次のコードを含む jsp ページがあります。

<script type="text/javascript">
function getWithdrawAmmount()
{
var withdraw=document.forms["WithdrawDeposit"]["AmountToWithdraw"].value;
document.getElementById('hidden').type = withdraw;
}
</script>

<form method="POST" name="WithdrawDeposit" onsubmit="getWithdrawAmmount()">
<table>
<tr><td><input type="text" size=5 name="AmountToWithdraw"></td>
<td><input type="button" value="Withdraw"></td></tr>
</table>
</form>
<input type="hidden" name="hidden" value="">

<% String AmountWithdraw = request.getParameter("hidden");  %>
<%!
public void Withdraw(){     
    int Amount = Integer.parseInt("AmountWithdraw");
Deposit deposit = new Deposit();
deposit.WithdrawMoney(AmountWithdraw);  
} %>

フォームの送信時に Withdraw() メソッドをアクティブにして、テキスト入力を取得する必要があります。JavaScript は「hidden」に挿入された値を保持し、後でアクセスできます。しかし、私は呼び出すことができません: <% Withdraw(); %> javascript 内から。

ボタンをクリックした後に Withdraw() を呼び出すにはどうすればよいですか?

10倍

4

1 に答える 1

3

まず、コード行に問題があります

document.getElementById('hidden').type = withdraw;

ID が hidden の要素を探しています。名前ではなく、ID です。したがって、参照している要素に id を追加します。

次に、タイプを設定しています。値を設定しませんか?

したがって、HTMLは次のようになります

<input type="hidden" name="hidden" id="hidden" value="" />

JavaScriptは次のようになります

document.getElementById('hidden').value = withdraw;

サーバーで関数を呼び出したい場合は、フォームをポストバックするか、Ajax 呼び出しを行う必要があります。

于 2012-05-03T19:27:44.807 に答える