ユーザーが選択したメンバーシップ レベルに基づいて支払いを徴収するフォームがあります。レベルを選択すると、JS がフォームに金額を自動入力します。私がやりたいことはreadonly
、オプションを選択した後にフィールドをマークすることです。しかし、落とし穴があります。カスタム金額を入力するオプションがあります (最低金額を設定しています)。このオプションが選択されている場合、金額フィールドをそのままにして、ユーザーが金額を入力できるようにします。
カスタム金額を選択しreadonly
ない限り、フィールドに自動入力してマークを付けるにはどうすればよいですか?
これが私の HTML と JS です (注: フォーム全体ではなく、関連する 2 つのフィールドの HTML のみを表示しています)。
HTML
<!-- MEMBERSHIP SELECT -->
<div><label for="CAT_Custom_320540">Membership Level <span class="req">*</span></label></div>
<select class="cat_dropdown" id="CAT_Custom_320540" name="CAT_Custom_320540">
<option value=" ">-- Please select --</option>
<option value="20.00">Basic $20</option>
<option value="35.00">Regular $35</option>
<option value="50.00">Advocate $50</option>
<option value="100.00">Dedicated $100</option>
<option value="250.00">Big Time $250</option>
<option value="3500.00">Lifetime $3500</option>
<option value="">Custom Amount</option>
</select>
<!-- AMOUNT -->
<div><label for="Amount">Amount<span class="req">*</span> <span id="constraint-300-label"> (minimum: <span id="constraint-300">20.00</span>)</span></label></div>
<input name="Amount" type="text" class="cat_textbox" id="Amount" />
JS
var select = document.getElementById('CAT_Custom_320540');
var input = document.getElementById('Amount');
select.onchange = function() {
input.value = select.value;
}
ご覧のとおり、金額フィールドは自動入力されていますが、読み取り専用としてマークし、カスタム金額が選択されている場合に読み取り専用ではないフィールドを残す機能を残す方法がわかりません。
私はサイトでjQuery 1.8.3を使用しています.jQueryを使用したいのは、バニラJSで行ったことです。