需要在提交表单时运行php脚本

时间:2010-06-03 15:03:06

标签: php javascript html ajax html-form

我有一个表单需要在单击提交按钮后运行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(form posted){get results and run script}不是一个选项,我需要在外部运行脚本,这就是为什么我需要它来执行onclick上的email-notification.php < / p>

当我将我的网络浏览器指向domain.com/include/email-notification.php时 - 它运行完美。

感谢任何帮助。

这会在您提交表单之前执行脚本,现在我需要等待单击提交按钮后执行脚本,可以这样做吗?

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

3 个答案:

答案 0 :(得分:3)

查看$.ajax() functionjQuery javascript library。它会让你的生活变得更加轻松,只要你的页面增加了大小(比如12kb或类似的东西),它就会非常简单。

答案 1 :(得分:1)

我建议使用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"); }
           });
});

答案 2 :(得分:0)

尝试更改“onclick”值:

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

假设“xmlhttpPost()”实际上是单独工作的。