どのチェックボックスが選択されているかに基づいて、フォームに隠れた入力を書きたいと思っています。私の例では、IMは、エラーが発生していないが、それはまだ文句を言わない、隠れfields-(編集済み)javascriptでどのチェックボックスが選択されているかに基づいて隠しフォームフィールドを追加するにはどうすればよいですか?
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<div id="test"></div>
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="[email protected]">
<input type="hidden" name="currency_code" value="US">
<input type="checkbox" id="chkbox1" name="camp1" value="a">
<input type="checkbox" id="chkbox2" name="camp2" value="b">
<input type="submit" value="PayPal">
</form>
<script type="text/javascript">
var element = document.getElementById('test');
if(element != null && element.checked) {
var newElement = document.createElement('input');
newElement.type = "hidden";
newElement.name = "item_name_1";
newElement.value = "MyItem #1";
document.getElementById('chkbox1').appendChild(newElement);
var newElement2 = document.createElement('input');
newElement2.type = "hidden";
newElement2.name = "amount_1";
newElement2.value = "7.00";
document.getElementById('test').appendChild(newElement2);
}
を渡す理論的にはこれは動作するはずですが、それは私が困惑持っています。誰かがいくつかのアドバイスを提供することができれば、それは非常に高く評価されます
完全には関係しませんが、挿入する価格に何らかのサーバー側の検証があることを確認してください – CountMurphy
これは、スクリプトを実行しているときはいつでも、これらのフィールドをチェックボックスとして追加/削除する場合にのみ発生しますそれぞれのチェックボックスにチェックされたイベントのハンドラを追加する必要があります。ただし、バックエンドのチェックボックスの選択に基づいて、フィールドをいずれかの方法で行い、何をすべきかを決めるのがおそらく最も簡単です。 –
あなたはそのjsコードをどこに置いていますか?チェックボックスの 'onclick'イベントでそれをトリガする関数を作成する必要があります。また、隠れた入力は本当に必要ですか?隠し入力の値を代わりにチェックボックスの値に入れることはできませんか? –