我有一個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 –