Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查是否已选择表单选择以提交表单?_Javascript_Php_Jquery_Forms_Select - Fatal编程技术网

Javascript 如何检查是否已选择表单选择以提交表单?

Javascript 如何检查是否已选择表单选择以提交表单?,javascript,php,jquery,forms,select,Javascript,Php,Jquery,Forms,Select,我有一个包含6个不同选择/选项HTML下拉列表的表单。如何进行错误检查以确保在提交表单之前已选择所有6个选项?如果没有,则会弹出警报,并且不会提交表单 <head> <script src="http://path/to/jquery-1.11.0.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var num = 2;

我有一个包含6个不同选择/选项HTML下拉列表的表单。如何进行错误检查以确保在提交表单之前已选择所有6个选项?如果没有,则会弹出警报,并且不会提交表单

<head>
<script src="http://path/to/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    var num = 2;
    $(":input").each(function(){
    if((this).val()==num){
        event.preventDefault();
        alert("Please ensure all fields are selected to submit the form");
    }
});
});
</script>
</head>

$(文档).ready(函数(){
var-num=2;
$(“:输入”)。每个(函数(){
if((this).val()==num){
event.preventDefault();
警告(“请确保选择所有字段以提交表单”);
}
});
});
我的表格:

<form>
Prior History of DVT or PE: 
<select name="prior">
<option value="2">--</option>
<option value="1">yes</option>
<option value="0">no</option>
</select>

...

PE is #1 Diagnosis, or Equally Likely::
<select name="likelydx">
<option value="2">--</option>
<option value=1>yes</option>
<option value=0>no</option>
</select>

</form>

有DVT或PE病史:
--
对
不
...
PE为#1诊断,或同等可能性:
--
对
不

使用以下代码。每次尝试提交表单时,都会触发submit事件,在表单验证之前,可以阻止提交

$(function() {
    $('form').on('submit', function( event ) {
        if( $('select').filter(function() { return this.value == 2; }).length > 0 ) {
            event.preventDefault();
            alert( 'Please ensure all fields are selected to submit the form' );
        }
    });
});

我这里有一个简单的解决方案:

您需要将检查代码放入事件处理程序中。该事件处理程序侦听“提交”按钮的单击,并在检查失败时阻止提交

$(document).ready(function(){
    var num = 2;

    $("#submit").on('click', function (event) {
        $(":selected").each(function(){
            if($(this).val()==num){
                alert("Please ensure all fields are selected to submit the form");
                event.preventDefault();
            }
        });
    });
});
检查每个select元素的属性。如果为-1,则不选择任何选项。如果是任何其他值,则选择了一个:
如果(this.selectedIndex==-1){/*未选择任何选项*/}