Как предотвратить перенаправление URL при отправке формы, если файл process.php находится в другом домене - PullRequest
0 голосов
/ 17 марта 2011

Приветствую всех!

Мне нужна помощь с этим кодом. Например, у меня есть два веб-сайта: firstwebsite.com и secondwebsite.com

Моя форма находится на firstwebsite.com , а данные обрабатываются в файле process.php из secondwebsite.com

Когда пользователь отправляет форму в firstwebsite.com , веб-страница перенаправляется на веб-страницу в secondwebsite.com

.

Что Я хочу, чтобы было

  1. , чтобы не дать перенаправлению отправки формы на веб-страницу secondwebsite.com

  2. вместо перенаправления должно появиться диалоговое окно, сообщающее пользователю, что форма была отправлена, таким образом, текущая форма все еще остается на странице firstwebsite.com

Я искал ответы и пробовал несколько кодов, но ни один не работает.

Пожалуйста, вставьте весь код, скрипт или ajax, который я должен использовать.

<html>

 <head>
    <title>document</title>
  <body>
    <div id="mydiv">
      <form name="sampleform" action="secondwebsite.com/process.php" method="POST">
      <p><input type="text" name="phone"/></p>
      <div id="phone-status"></div>
      <p><input type="text" name="fname"></p>
      <textarea name="text" id="text"></textarea>
      <p><input type="submit" name="SubmitForm" value="SEND"></p>
   </div>
  </body>
 </head>
</html>

Ответы [ 3 ]

2 голосов
/ 17 марта 2011

просто используйте перенаправление HTTP. Вы должны использовать его в любом случае.
Просто добавьте

header("Location: http://firstserver.com/thanks.html");
exit;

в обработчике форм.
это все

1 голос
/ 17 марта 2011

target форма в iframe, вызовите предупреждение от события onload iframe.

0 голосов
/ 17 марта 2011

Это немного более сложный метод, но он должен отображать код xhtml.

Когда пользователь нажимает кнопку «Отправить», вы берете данные с помощью ajax, затем вставляете их с помощью curl на целевую страницу.

Вы можете динамически изменить поле формы на сообщение об успешном завершении.

Потребуется немного поработать, но все будет хорошо.

...