Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
阻止表单提交并获取jquery中具有特定类的所有元素_Jquery_Foreach_Form Submit_Preventdefault - Fatal编程技术网

阻止表单提交并获取jquery中具有特定类的所有元素

阻止表单提交并获取jquery中具有特定类的所有元素,jquery,foreach,form-submit,preventdefault,Jquery,Foreach,Form Submit,Preventdefault,我有一个类似下面的表格 <html> <script> $(document).ready(function(){ // find all the hidden input elements with error_check class var error_elements = $('.error_check') // Loop through each element find if the valu

我有一个类似下面的表格

<html>
  <script>
     $(document).ready(function(){
         // find all the hidden input elements with error_check class
         var error_elements = $('.error_check')

         // Loop through each element find if the value equals 'california'
             error_elements.each(function(){
                      if (element.value == 'california')
                             // prevent for submission and display alert
                             alert("cannot submit tax for this state")
                      else 
                          // submit form

               });
     )};
  </script> 
  <body>
    <form action="{% url 'collect_salextax' %}" method="POST" id="states_form"  class="form-horizontal">
      <div class="control-group">
         {% for state in states %} 
           <p>
                <input id="error_{{state.0}}" type="hidden" name="{{state.0}} value="{{state.name}}" class="error_check"/>
                <input id="{{state.0}}" type="text" name="{{state.0}}" class="value_check"/>
           </p>
         {% endfor %} 
      </div>
      <div class="span11 pagination-centered marg_tp38">
           <input name="" type="submit" class="btn btn-large big_btn " value="Submit">
      </div>                          
    </form>
  <body>
</html>

$(文档).ready(函数(){
//使用错误检查类查找所有隐藏的输入元素
var error_elements=$('.error_check')
//循环遍历每个元素,查找值是否等于“california”
错误\u元素。每个(函数(){
如果(element.value=='california')
//防止提交和显示警报
警报(“无法提交该州的税款”)
其他的
//提交表格
});
)};
{状态为%的状态为%}


您应该对表单应用提交偶数处理程序。如果未验证,请添加event.preventDefault()以确保表单未提交

van $form = $('#myForm');
$form.on('submit', function () {
    // handle submit
});
你可以试试这个

$('#myForm').on('submit', function (e) {
    var allInputs = $('.error_check');
    for(var i=0; i<allInputs.length; i++) {
        if(allInputs[i].value == "California") {
            e.preventDefault();
            return;
        }
    }
});
$('#myForm')。关于('submit',函数(e){
var allInputs=$('.error_check');

对于(var i=0;i您可以这样做:

$("#states_form").submit(function(event) {
    $(".error_check").each(function(idx, obj) {
        if ($(obj).val() == 'california') {
            alert("cannot submit tax for this state");
            event.preventDefault();
            return false;
        }
        else {
            // submit form
            return true;
        }
    });
});

建议使用window.onload而不是$(document)。如果(element.value=='california',则准备执行此验证
if
在submit按钮中单击Handler它告诉我未捕获类型错误:Object#没有方法“val”检查修改后的Now它告诉我未捕获类型错误:Object#在控制台中没有方法“val”很抱歉我的错误用此if替换if条件(allInputs[i]。value==“California”)