2013-04-28 54 views
0

我使用Modx eForm为我的表单。添加名称=需要与js(eForm Modx)

我的问题,我需要添加:需要几个输入字段,但只有当复选框未选中时!

我有这样的字段:

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

回答

0

添加类似

document.getElementById("deliver_lastname").required = true; 
+0

嗨,我不需要需要一个类,但名字= “布拉布拉:需要” – fourroses 2013-05-01 22:26:31

+0

上面的代码没有设置所需的类,它实际上使符合HTML5的浏览器所需的字段。 – 2013-05-04 06:39:46

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> 

所需的事件 “点击” 和 “平变化” 上输入:

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

<input type="text" id="billingaddres" onchange="SetBilling();" /> 
+0

我很抱歉延迟(queensday)。我怀疑这是行不通的。 我需要的只是添加这个:需要在名称后面=这里: name =“deliver_lastname:required”,所以当复选框没有被选中时,开票字段显示并且它们是必需的! 我的总码在这里; http://pastebin.com/raw.php?i=62Ni9ABJ – fourroses 2013-05-01 22:25:10

+0

http://pastebin.com/raw.php?i=26dzK8hE 它有必填字段,嗯,我希望我是一个更多的编码器有时候设计师 – fourroses 2013-05-01 22:31:32