阻止表单提交并获取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”)