在文档加载时我保护我的表单免于“不安全”提交:
$("#my_form").submit(function(event){event.preventDefault();});
选中按钮点击表单后,应该提交但没有任何反应:
$('#submit_b').click(function(){
if ($('input[name=site]:checked', '#my_form').attr('id') == 'E1')
{
//alert('ok' + $('input[name=site]:checked', '#my_form').attr('id') );
$('#my_form')[0].submit();
}
else
{
if (($('input[name=site]:checked', '#my_form').attr('id') !== 'E1') && ($('input[name=site]:checked', '#my_form').attr('id') !== 'OTR')) {
//alert('Not E ' + $('input[name=site]:checked', '#my_form').attr('id') );
$('#my_form')[0].submit();
}
else
{
if ($('input[name=site]:checked', '#my_form').attr('id') == 'OTR'){
//alert('other');
$('#my_form')[0].submit();
}
}
}
});
答案 0 :(得分:1)
在按钮选项上,您需要将名称更改为Submit
现在为submit
答案 1 :(得分:0)
您添加了一个处理程序以形成始终阻止它的提交事件。
如果#submit_b
是<input>
,type="submit"
位于表单内,则可以改为:
$('#my_form').submit(function(e){
if (/*conditions are not met*/) {
e.preventDefault();
return; //this will just abort
}
//additional operations or do nothing, which will submit the form
});
答案 2 :(得分:0)
在提交表单之前撤消preventdefault。您可以使用此方法阻止默认并撤消它。
function preventDefault(e) {
e.preventDefault();
}
//prevent default
$("#my_form").bind("submit", preventDefault);
//undo prevent default
$("#my_form").unbind("submit", preventDefault);
在验证循环中提交表单之前写入撤消代码行。这将有效