0

フォームには Modx eForm を使用しています。

私の問題、いくつかの入力フィールドに :required を追加する必要がありますが、チェックボックスがオフの場合のみです!

次のようなフィールドがあります。

<input type="text" placeholder="Last name" id="deliver_lastname" name="deliver_lastname:required" class="[[!+fi.error.deliver_lastname:notempty=`error`]]" />

:required は、チェックボックスをオフにした後に設定する必要があります。

一部のフィールドをデフォルトで非表示にするチェックボックスがあります。

<p id="shiptobilling" class="form-row">
Same as billing address <input type="checkbox" onclick="SetBilling(this.checked);" checked="checked" /> 
</p>

フィールドを含む div を非表示にする小さなスクリプト:

<script type="text/javascript">
function SetBilling(checked) {
    if (checked) {document.getElementById('deliveryaddres').style.display="none";}
    else {document.getElementById('deliveryaddres').style.display="block";}
}
</script>
4

2 に答える 2

1

簡単にすることができます-deliveryaddres は常に必須になり、チェックボックスがオンになっている場合は、フィールドの値がbillingaddres と同期されます。

必要な JavaScript:

<script type="text/javascript">
    function SetBilling() {
        var deliveryaddres = document.getElementById('deliveryaddres');
        var billingaddres = document.getElementById('billingaddres');
        var shiptobilling = document.getElementById('shiptobilling').getElementsByTagName('input')[0];
        if (shiptobilling.checked) {
            deliveryaddres.value = billingaddres.value;
        }
    }
</script>

入力に必要なイベント「onclick」および「onchange」:

<input type="checkbox" id="deliveryaddres" onclick="SetBilling();" /> 

<input type="text" id="billingaddres" onchange="SetBilling();" />
于 2013-04-28T23:07:18.630 に答える
0

のようなものを追加

document.getElementById("deliver_lastname").required = true;
于 2013-04-28T22:28:16.380 に答える