Javascript form.submit()不包括发送提交按钮

Javascript form.submit()不包括发送提交按钮,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在jQuery中有一段代码,它首先使用ajax验证表单,然后将同一表单重新提交到另一个位置,但同时重新提交submit按钮值not sending。。 会有什么问题 以下是js代码: $.ajax({ 'type': 'post', 'url': '/inc/do.php', 'data': $form.serialize(), beforeSend: function(){ $form.find(':input').attr('disabled

我在jQuery中有一段代码,它首先使用ajax验证表单,然后将同一表单重新提交到另一个位置,但同时重新提交submit按钮值not sending。。 会有什么问题

以下是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');
    }
});

正在重新提交表单,但未包含提交按钮及其值,但提交按钮已包含在ajax请求中。。。为什么???

提交按钮仅在用于提交表单时才被视为控件。由于您是使用JavaScript提交表单,因此没有使用“提交”按钮,因此提交不成功,并且未包含在提交的请求中。

这是因为传统上单击所述提交按钮时,提交按钮仅包含在表单提交中

由于您不是通过传统的
input=“submit”
按钮提交表单,因此不包含任何值

如果您在服务器端检查此值,则它是一个静态值,可以通过静态隐藏输入轻松完成,这似乎不是伪造单击提交按钮以检索静态值的原因

<input type="hidden" value="info" name="field_name" id="field_name" />

您可以使用此方法 在form.submit()之前。使用单击功能调用提交按钮。因此,它传统上称为提交按钮


document.form name.submit按钮名称。单击()

有什么解决办法吗??我希望表单与所有字段和按钮一起重新提交。您似乎完全没有必要要求提交按钮中包含静态值字段。请参阅我的答案以了解可能的替代方案。嗯。。。似乎您添加动态值是正确的。。。这个方法也可以:“document.getElementById('submitButton')。click();”
<input type="hidden" value="info" name="field_name" id="field_name" />