如何使用 javascript 回发到不同的表单

How to postback to a different form using javascript

我有一个带有文本框的表单,我想在 ajax 调用成功后将文本框的值提交到另一个页面,我该如何实现?

这是我的ajax方法:

$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    url: "http://test.net/getData",
    data: "{some:data}",
    success: function (response) {
            document.forms.form1.txtData.value = "value1";
            document.forms.form1.submit();
    },
    error: function (response) {
            alert("error");
    }
});

然后我在第 1 页中的表单为:

 <form id="form1" runat="server">
    <input type="hidden" id="txtData" value="" runat="server" />
 </form>

但这会将我的数据发送回原始页面 (Page1) 而不是 Page2 表单。

您可以在表单的 action 属性中指定操作 url。

看看documentation

<form id="form1" runat="server" action="Page2.aspx">
    <input type="hidden" id="txtData" value="" runat="server" />
</form>

您可以将表单的'action'属性设置为您需要的动作名称,然后提交表单,例如像这样。

success: function (response) {
        var $form = $("#form1");
        $form.attr("action", "your-action-name");
        $form.submit();
},

About HTML action Attribute

您可以使用查询字符串,这将重定向到包含您的文本值的另一个页面

success: function (response) {
          var value=response.d   
          //  document.forms.form1.txtData.value = "value1";
          //  document.forms.form1.submit();
            window.location = "http://YourPageName.aspx?id="+value;
    }

隐藏代码: 在页面加载时,您可以使用 Request.QueryString

检索值
 if (Request.QueryString["id"] != null)
   {
          string getTxtValue = Request.QueryString["id"].ToString();
  }