我有一个jQuery中的代码,它首先使用ajax验证表单,然后重新提交相同的表单到另一个位置,但重新提交提交按钮值不发送.. 什么将问题??form.submit()不包括发送提交按钮
这里的js代码:
$.ajax({
'type': 'post',
'url': '/inc/do.php',
'data': $form.serialize(),
beforeSend: function(){
$form.find(':input').attr('disabled', true);
$form.find('.btn').addClass('bdsbld');
$form.find('.blkr').css('display', 'block');
},
error: function(){
Recaptcha.reload();
$form.find(':input').attr('disabled', false);
$form.find('.btn').removeClass('bdsbld');
$form.find('.blkr').css('display', 'none');
},
success: function(d){
$form.find(':input').removeAttr('disabled');
if(res=isJSON(d)){
if(!res.err && res.msg.toLowerCase()==='ok'){
if(($PRI_KEY=$form.find('input#PRIVATE_KEY')).length) $PRI_KEY.val(res.PRIVATE_KEY);
$form.append('<input type="hidden" id="PRIVATE_KEY" name="PRIVATE_KEY" value="'+res.PRIVATE_KEY+'" />');
$form.find('input#do').val('BOOK_AD');
$form.find('#reCaptchaO').remove();
form.submit();
}
else{
alert(res.msg);
Recaptcha.reload();
$form.find('.btn').removeClass('bdsbld');
$('#'+res.fld).delay(250).focus();
}
}
else
if(d!==''){
alert(d);
Recaptcha.reload();
$form.find('.btn').addClass('bdsbld');
}
$form.find('.blkr').css('display', 'none');
}
});
在这段代码
,行即
form.submit();
是重新提交的形式,但它不包括提交按钮,它的价值,但提交按钮被包含在ajax请求中...为什么?
任何解决方法? 我希望表单可以通过所有字段和按钮重新提交。 –
您需要提交按钮中包含的静态值字段,这似乎完全没有必要。看到我的答案可能的选择。 – jondavidjohn
嗯......它似乎你是正确的添加动态值... thx –