在jquery验证后未提交表单

时间:2014-10-14 09:47:11

标签: javascript jquery forms

在文档加载时我保护我的表单免于“不安全”提交:

$("#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();
}
}
}
});

3 个答案:

答案 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);

在验证循环中提交表单之前写入撤消代码行。这将有效