2015-06-08 4 views
1

У меня есть форма с текстовым полем, я хочу отправить значение текстового поля на другую страницу после успешного выполнения ajax-вызова, как я могу это достичь?Как отправить обратно в другую форму с помощью javascript

Это мой Аякса метод:

$.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"); 
    } 
}); 

, а затем у меня есть вид на странице Page1 как:

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

Но это будет посылать свои данные обратно на исходную страницу (Page1) не к форме Page2.

ответ

2

Вы можете указать URL-адрес действия в атрибуте формы action.

Возьмите взгляд на documentation

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

Вы можете установить «действие» атрибут формы на имя действия вам нужно, а затем отправить форму, например, как это.

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

About HTML action Attribute

+0

Спасибо, что это отличный подход, но я иду с другим, так как я уже знаю URL-адрес для публикации, и его проще просто поместить в тег. –

2

Вы можете использовать строку запроса, это будет перенаправлять на другую страницу с textvalue

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

Код Behind: На странице загрузки вы можете извлечь с использованием Request.QueryString

if (Request.QueryString["id"] != null) 
    { 
      string getTxtValue = Request.QueryString["id"].ToString(); 
    } 
+0

Спасибо, что это работает, но поскольку я прошу предоставить информацию о CC, я предпочитаю не показывать его на URL-адресе. –

Смежные вопросы