在页面加载时使用JQuery提交表单

时间:2013-04-02 21:37:07

标签: jquery html forms certificate-authority

我的Microsoft Active Directory证书服务器上有一个“用户证书”表单。 表单托管在URL:

 https://mycaserver/certsrv/certrqbi.asp?type=0.

此表单的简化html是:

<html>
<body>
<Form Name=SubmittedData Action="certfnsh.asp" OnSubmit="return goNext();" Method=Post>
    <Input Type=Hidden Name=Mode>             <!-- used in request ('newreq'|'chkpnd') -->
    <Input Type=Hidden Name=CertAttrib>       <!-- used in request -->
    <Input Type=Hidden Name=FriendlyType>     <!-- used on pending -->
    <TR><TD></TD>
        <TD ID=locSubmitAlign Align=Right>
        <Input ID=locBtnSubmit Type=Submit Name=btnSubmit Value="Submit &gt;" >
    </TD></TR>
</Table>
</Form>
</body>
</html>

我想:

  • 使用Jquery加载上面html页面的URL并自动点击提交按钮。
  • 然后在单击“提交”后,检查响应以搜索子字符串。

有人可以给我一些指示吗?

非常感谢

2 个答案:

答案 0 :(得分:1)

这里有一个起点

$(document).ready(function(){
  $('form[name="SubmittedData"]').unbind().on('submit', function(){
    var t = $(this);
    $.ajax({
      type : t.attr( 'method' ),
      url : t.attr( 'action' ),
      data : t.serialize(),
      success : function( d ){
        //Check the result in firebug (chrome developer tools) console
        console.log( d );
        // do rest of stuff after submitting for is ok
        //alert( d ); //use this if you do not have firebug
      },
      error : function(xhr, opts, error){
        console.log( error );
      }
    });
  }).trigger( 'submit' );
});

我不明白第二点,你究竟需要什么。也许在您向我们展示您在“成功”步骤中获得的成果后,我们可以使用剩余的代码。

答案 1 :(得分:0)

您可以使用ajax post发送表单并检查结果。在表单上放置一个id“SubmittedData”以简化操作,

此外,您应该在加载JQuery时加载它,而不是在加载页面时加载它(那里的差别很小:

$(document).ready(function(){
    $.post('certfnsh.asp', $("#SubmittedData").serialize(), function(data) {
       alert(data);
    });
});