У меня есть следующий код:
<script type="text/javascript">
function SubmitForm()
{
form1.submit();
}
function ShowResponse()
{
}
</script>
.
.
.
<div>
<a href="#" onclick="SubmitForm();">Click</a>
</div>
Я хочу получить ответ HTML form1.submit
? Как я делаю это? Я могу зарегистрировать какую-либо функцию обратного вызова к form1.submit методу?
Вы не сможете сделать это легко с плоскостью JavaScript. При регистрации формы исходные данные формы отправляются на сервер, и страница обновлена - данные обрабатываются на стороне сервера. Таким образом, эти submit()
функция ничего на самом деле не возвращает, она просто отправляет данные формы на сервер.
, Если Вы действительно хотели получить ответ в JavaScript (без обновления страницы), затем необходимо будет использовать Ajax, и когда Вы начнете говорить об использовании Ajax, Вы будете потребность для пользований библиотекой. jQuery является безусловно самым популярным, и мой любимый. Существует большой плагин для jQuery, названного Форма , который сделает точно, что это кажется, что Вы хотите.
Вот то, как Вы использовали бы jQuery и что плагин:
$('#myForm')
.ajaxForm({
url : 'myscript.php', // or whatever
dataType : 'json',
success : function (response) {
alert("The server says: " + response);
}
})
;
Можно сделать то использование технология Ajax и JavaScript. Взгляните на jQuery и на этот , форма включает . Только необходимо включать два js файла для регистрации обратного вызова для form.submit.
Нет никакого обратного вызова. Это похоже после ссылки.
, Если Вы хотите получить ответ сервера, используйте Ajax или отправьте его на Iframe и захватите то, что появляется там после iframe's onload()
событие.
Необходимо использовать Ajax. Представление формы обычно приводит к браузеру, загружающему новую страницу.
Я не уверен, что Вы понимаете то, что отправляет (), делает...
, Когда Вы делаете form1.submit();
, информация о форме отправляется на веб-сервер.
WebServer сделает что свое воображаемое сделать и возвратить совершенно новую веб-страницу клиенту (обычно та же страница с чем-то измененным).
Так, нет никакого способа, которым можно "поймать" возврат form.submit () действие.
Альтернатива Ajax должна установить невидимую операцию <iframe>
как цель Вашей формы и считать содержание того <iframe>
в onload
обработчик. Но почему беспокойство, когда существует Ajax?
Примечание: я просто хотел упомянуть эту альтернативу, так как некоторые ответы утверждают, что это невозможно для достижения этого без Ajax.