强制使用下拉列表

时间:2015-11-28 11:08:30

标签: javascript jquery

我一直试图使用下拉强制。这是我的代码:

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

2 个答案:

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