Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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
以GET形式实现jQuery的简单解决方案_Jquery - Fatal编程技术网

以GET形式实现jQuery的简单解决方案

以GET形式实现jQuery的简单解决方案,jquery,Jquery,我试图阻止在搜索表单中提交空字段,表单。我找到了一个很好的解决方案,它很有效,但我对jQuery了解不多,所以代码看起来很难看。有谁能推荐更好的解决方案吗 这是表格JS: $(文档).ready(函数(){ $(“#form1”).submit(函数(){ 如果($(“#表单生成”).val()=“”){ $(“#表格制作”).prop('disabled',true); } }); }); $(文档).ready(函数(){ $(“#form1”).submit(函数(){ if($(“#表

我试图阻止在搜索表单中提交空字段,表单。我找到了一个很好的解决方案,它很有效,但我对jQuery了解不多,所以代码看起来很难看。有谁能推荐更好的解决方案吗

这是表格JS:

$(文档).ready(函数(){
$(“#form1”).submit(函数(){
如果($(“#表单生成”).val()=“”){
$(“#表格制作”).prop('disabled',true);
}
});
});
$(文档).ready(函数(){
$(“#form1”).submit(函数(){
if($(“#表单模型”).val()=“”){
$(“#表单模型”).prop('disabled',true);
}
});
});
$(文档).ready(函数(){
$(“#form1”).submit(函数(){
如果($(“#表格分数_开始”).val()=”){
$(“#表格分数_开始”).prop('disabled',true);
}
});
});
$(文档).ready(函数(){
$(“#form1”).submit(函数(){
如果($(“#表格分数结束”).val()=“”){
$(“#表格分数结束”).prop('disabled',true);
}
});
});

选择Make
@foreach($公司作为$公司)
{{$company->name}
@endforeach

选择模型 @foreach($models作为$model) {{$model->name} @endforeach
条件: 选择 3.5 4. 4.5 5. 6. 9 到 选择 3. 3.5 4. 4.5 5. 6. 9
序列化表单值,检查每个字段的值,如果有任何错误,则停止提交,否则提交

这就是用例

确保为每个输入字段命名! 它可以通过如下方式使用
serializeArray()
实现:

    var $form = $(form).serializeArray();
    var $errors = 0;
    $.each($form, function(i, field) {
        $("*[name="+field.name+"]").removeClass("error");
        var $val = $.trim(field.value);
        if($val == "") {
            $("*[name="+field.name+"]").addClass("error");
            $errors++;
        }
    });

请参阅以获得一个有效的演示

通过组合一组重复元素,您可以轻松地缩减代码

$(document).ready(function() {
    $("#form1").submit(function() {
        if($("#form-make").val()=="") {
            $("#form-make").prop('disabled', true);
        }
        if($("#form-model").val()=="") {
            $("#form-model").prop('disabled', true);
        }
        if($("#form-score_start").val()=="") {
            $("#form-score_start").prop('disabled', true);
        }
        if($("#form-score_end").val()=="") {
            $("#form-score_end").prop('disabled', true);
        }
    });
});
为了进一步优化,您可以将要检查的元素放入一个数组中,并在其上循环

$(document).ready(function() {
    $("#form1").submit(function() {
        var objects = ["make", "model", "score_start", "score_end"];
        for (x in objects) {
            var objectID = '#form-'+ x;
            if($(objectID).val()=="") {
                $(objectID).prop('disabled', true);
            }
        }

    });
});

你看了吗?PHPStorm说这部分有一个错误:for(int x=0;x