нужно запустить скрипт php при отправке формы - PullRequest
1 голос
/ 03 июня 2010

У меня есть форма, которая должна запускать скрипт php после нажатия кнопки отправки, это должен быть ajax.

<form method="post" action="index.php" id="entryform" name="entryform">
<input type="submit" name="submit" value="Submit" onclick="JavaScript:xmlhttpPost('/web/ee_web/include/email-notification.php', 'entryform')" />
</form>

В этой ситуации использование if (форма отправлена) {получить результаты и запустить скрипт} не вариант, мне нужно запустить скрипт извне, поэтому он мне нужен для запуска email-messages.php в onclick

Когда я указываю моему веб-браузеру на domain.com/include/email-notification.php - он работает отлично.

Любая помощь приветствуется.

Это выполняет скрипт перед отправкой формы, теперь мне нужно подождать, чтобы выполнить скрипт после нажатия кнопки отправки, можно ли это сделать?

$.ajax({
    type: "POST",
    url: "/include/email-notification.php",
    dataType: "script"
});

Ответы [ 3 ]

3 голосов
/ 03 июня 2010

Проверьте функцию $. Ajax () из библиотеки jQuery javascript . Это сделает вашу жизнь намного проще и будет минимальной, если добавить размер страницы (например, 12 КБ или что-то в этом роде).

1 голос
/ 03 июня 2010

Я предлагаю использовать jquery. из-за своей гибкости и удобства

Если вы хотите отправить уведомление по электронной почте, а затем только опубликовать данные, выполните следующие действия:

создать отдельную страницу для обработки вашего электронного уведомления, например email.php

// fill in headers and prepare content
$result = mail(............................);
if($result) { return 1; } else { return 0; }

Тогда в вашей форме

$('#mysubmitbutton').click(function() {
      $.post(
           'email.php',
           { emailadd: 'my@email.com', content: 'mycontent' }, //send parameters to email.php
           function(data) {
                //now check whether mail sending was successfull
                if(data==1) {
                     //message sending was successful so carry out further operation
                     //.................................
                }
                else { alert("Sorry, email notification was unsuccessfull"); }
           });
});
0 голосов
/ 03 июня 2010

Попробуйте изменить значение "onclick":

<input type="submit" name="submit" value="Submit" onclick="JavaScript:xmlhttpPost('/web/ee_web/include/email-notification.php', 'entryform'); return false" />

Это предполагает, что "xmlhttpPost ()" - это то, что на самом деле работает само по себе.

...