отправка html формы по различным направлениям - PullRequest
2 голосов
/ 10 июня 2011

Я занимаюсь разработкой веб-приложения django, в котором я хотел бы пройти процесс регистрации.В процессе регистрации у меня, конечно, есть форма с просьбой указать имя, адрес электронной почты и пароль.Что я хотел бы сделать, это отправить форму по почте в 2 разных местах.Одной из них, конечно же, является база данных регистрации, в которой сохраняются пароль и тому подобное, а другой - приложение рассылки Emencia.В случае, если это поможет, Emencia нужны только электронная почта и имя (необязательно).

Так как я могу сделать это только с одной формой, двумя местами для отправки и, взяв лишь некоторые данные изформа и не все?

Спасибо!

Ответы [ 5 ]

1 голос
/ 11 июня 2011

Хотя я согласен с тем, что лучше подходить к этому на стороне сервера, позвольте мне исправить, что очень возможно отправить одну и ту же форму в разные сценарии на стороне сервера.

См. Страницу ниже для сценария и некоторых демонстраций: Как создать форму для многократной отправки

Работает в IE, Firefox и Chrome.

0 голосов
/ 10 июня 2011

Этот вид хитрости использовался в большинстве браузеров, но ... похоже, что теперь он работает только в Firefox.Добавление задержки между двумя представлениями позволяет работать в IE, но не в Chrome.Я на самом деле удивлен, что он все еще работает в Firefox:)

<html>
<body>
<form method='post' action='place1.php' onsubmit='this.action="place1.php";this.submit();this.action="place2.php";this.submit();return false;'>
<input type='text' name='thing' value='something' />
<input type='submit' value='send' />
</form>
</body>
</html>
0 голосов
/ 10 июня 2011

Для этого вам понадобится Javascript & AJAX

http://www.tizag.com/ajaxTutorial/

0 голосов
/ 10 июня 2011

Вот решение с помощью jQuery ...

$("input:submit").click(function(e) {
    e.preventDefault();

    // javascript validation

    // run this if validation succeeds
    $.ajax({
        url: "url to emencia newsletter",
        type: 'post',
        data: "Email=" + $("#emailField").val() + "&Name=" + $("#nameField").val(),
        success: function(result) {
            // do stuff
            $('form').submit();
        }
    });
    // could also go here if you don't want the success callback -- $('form').submit();
});

Итак, что происходит, если вы нажимаете кнопку отправки.E.preventDefault говорит браузеру прекратить отправку формы.Затем вы запускаете запрос ajax для отправки в emencia.В случае успеха он подает оригинальную форму.Я не уверен, нужно ли вам успешно отправить форму или просто разместить ее после запроса AJAX.Я не думаю, что это действительно имеет значение.

0 голосов
/ 10 июня 2011

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

Что вы МОЖЕТЕ сделать, так это отправить HTTP-запрос в вашем скрипте регистрации в скрипт новостной рассылки, например, используя urllib2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...