2016-03-15 56 views
-1

我有一个网站,我正在尝试使我的(额外费用)复选框,然后继续结帐与贝宝。点击复选框后,还会为总价添加额外的钱(不确定是否会影响任何内容)。我也找不到复选框的name =字段,所以我使用了id =,我确信它是完全错误的。对不起,我对此非常陌生。所需的复选框的JavaScript代码

另请注意 - 在我的复选框表单之后,我必须通过点击一本书的另外2页按钮才能到达提交结账按钮......不确定这是否会阻止任何工作正常? -

我已经添加了以下我的自定义CSS:

<form action="../" onsubmit="if (this.package-44.checked == false) { alert ('You didn\'t choose any of the checkboxes!'); return false; } else { return true; }"> 
<p><input type="checkbox" id="package-44" value="add" required="required" /></p> 
<p><input type="submit" name="woocommerce_checkout_place_order" value="Proceed to PayPal" required="required" /></p> 
</form> 

我张贴这在我的主题footer.php:

$('#formTemplate').submit(function() { 
    if (!attributeSupported("required") || ($.browser.safari)) { 
    //If required attribute is not supported or browser is Safari (Safari thinks that it has this attribute, but it does not work), then check all fields that has required attribute 
     $("#formTemplate [required]").each(function(index) { 
     if (!$(this).val()) { 
     //If at least one required value is empty, then ask to fill all required fields. 
      alert("Please fill all required fields."); 
      return false; 
     } 
     }); 
    } 
    return false; //This is a test form and I'm not going to submit it 
}); 

我也改变了输入<required="required" />上我的复选框输入的后端。这仍然没有阻止我继续结帐。 更多的帮助表示赞赏。

回答

0

如果我明白你需要复选框。是吗?

只要改变复选框线:

<p><input type="checkbox" id="package-44" value="add" required ></p> 
+0

不适用于[IE <10](http://caniuse.com/#search=required),这可能是一个问题 – empiric

+0

是的正确,我试过了,它仍然没有工作? – Harmonyll2

+0

尝试

0

有一个简单的HTML代码所需的HTML输入。

required="required"添加到输入元素。例如:

<input type="checkbox" required="required" />

当您提交表单,并且未选中该复选框,浏览器会给你一个警告通知您,您需要检查的复选框元素。

而且因为要做到这一点在JavaScript中,你可以看看这个答案:How to set HTML5 required attribute in Javascript?

编辑:从马尔科低于检查与所需的标签提交的表单见注释。

+0

请注意,即使您可以添加' '''''''''前端必须'属性,你总是需要检查后端的复选框,因为HTML5表单验证功能比如''required''和''email''输入类型可以很容易地被一个可疑的浏览器。您始终需要验证后端的所有内容 - 您在前端捕获的表单错误只是一个不错的奖励。 –

+0

我也试过这个,还没有工作,它允许我仍然通过结帐继续。 – Harmonyll2