我一直试图使用下拉强制。这是我的代码:
<form class="add-to-cart clearfix" action="http://www.MyWebsite.com/cart/add/38561016/" id="product_configure_form" method="post">
<input type="hidden" name="bundle_id" id="product_configure_bundle_id" value>
<div class="product-configure">
<div class="product-configure-variants">
<label for="product_configure_variants">"Make a choice: "<em>*</em></label>
<select name="variant" id="product_configure_variants" onchange="document.getElementById('product_configure_form').action = 'http://www.photographycoursetour.com/product/variants/20882492/'; document.getElementById('product_configure_form').submit();" >
<option value="38561016" selected="selected">PLEASE SELECT - €5.995,00</option>
<option value="37213514">2 APR - 16 APR 16 - €5.995,00</option>
<option value="37213516">5 NOV - 19 JAN 16 - €4.499,00</option>
</select>
<div class="product-configure-clear"></div>
</div>
<a href="javascript:;" onclick="$('#product_configure_form').submit();" title="Add to cart" class="btn large">Add to cart</a>
</div>
</form>
如果没有办法强制使用下拉菜单,那么可能会发出警报吗?
我试过了(但它不起作用):
<script>
if ($_POST[‘variant'] == '38561016')
{
$errors[] = 'Please select a tour date';
}
</script>
答案 0 :(得分:0)
实际上,最简单的方法是给它属性required
:
<select .... required>
但是如果你想要更加谨慎并使用jQuery,那么你需要让jQuery在提交上运行以验证它是否已被选中。首先,修改<from>
:
<form .... onsubmit=foo()>
然后使用你的jQuery代码。如果这可以解决您的问题,请告诉我。
答案 1 :(得分:0)
您也应该使用按钮而不是链接来提交表单。表单中的按钮具有默认type="submit"
来提交表单。
<button title="Add to cart" class="btn large">
使用jQuery时不要使用内联JS。
<script>
$(document).on('ready', function() {
$('#product_configure_variants').on('change', function() {
// submit form here with another action
});
});
</script>
提醒留言:
<script>
var showError = <?php echo $_POST['variant'] == '38561016' ?> == 1;
if(showError) {
alert('Please select a tour date');
}
</script>