使用js添加name = required(eForm Modx)

时间:2013-04-28 22:17:46

标签: javascript validation modx

我将Modx eForm用于我的表单。

我的问题,我需要添加:几个输入字段需要,但只有在取消选中复选框时才会显示!

我有这样的字段:

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

:取消选中复选框后需要设置。

我有一个默认隐藏某些字段的复选框。

<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>

2 个答案:

答案 0 :(得分:1)

可以变得更容易 - 让alwaysaddres始终是必需的,当选中复选框时,只需让字段的值与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();" />

答案 1 :(得分:0)

添加类似

的内容
document.getElementById("deliver_lastname").required = true;