Могу ли я остановить действие формы с перенаправлением пользователя на другую страницу?

58
4

У меня есть эта форма:


<form name="input" action="http://s164074194.onlinehome.us/mail.py" method="POST">
Username:
<input type="text" name="email" />
<input type="submit" value="Submit" />
</form>

При представлении вызывается mail.py script и пользователь перенаправляется на его вывод...


Я хочу, чтобы пользователь просто оставался на той же странице, что и форма, прямо сейчас, когда я нажимаю кнопку "Отправить" в форме, я перенаправлен на mail.py, который находится на другом сайте. Можно ли отключить это действие перенаправления и вместо этого просто вызвать script?


Спасибо

спросил(а) 2009-04-22T23:01:00+04:00 11 лет, 6 месяцев назад
1
Решение
58

Как упоминалось в @josh, вы, вероятно, захотите отправить форму через AJAX, но если script находится на другом сайте, то я не думаю, что вы сможете это сделать.


Наверное, ваш лучший выбор - иметь скрытый iframe с реальной формой, которая отправляется, а когда пользователь нажимает кнопку в видимой форме, некоторые javascript копирует значения полей в скрытую форму и отправляет ее.

Вы также можете просто указать цель в форме, которая будет скрытым iframe, и не беспокоиться о части javascript, но я ее не пробовал.

ответил(а) 2009-04-22T23:09:00+04:00 11 лет, 6 месяцев назад
58

Отправьте его через AJAX.

ответил(а) 2009-04-22T23:05:00+04:00 11 лет, 6 месяцев назад
42

Если возможно, напишите имя с именем в "action='current_filename'"


<form name="input" action="current_file_name" method="POST">
Username:
<input type="text" name="email" />
<input type="submit" value="Submit" />
</form>

ответил(а) 2015-09-10T15:55:00+03:00 5 лет, 1 месяц назад
41

Одним из решений было бы, чтобы mail.py перенаправлял браузер на другую страницу, когда он закончил выполнение любых функций с данными формы.


Я не уверен в вашей ситуации, но если у вас нет доступа к редактированию mail.py, возможно, вы сможете получить локальную копию, если это возможно.

ответил(а) 2009-04-22T23:45:00+04:00 11 лет, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема