我有一个表单需要在单击提交按钮后运行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"
});
答案 0 :(得分:3)
查看$.ajax() function的jQuery 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()”实际上是单独工作的。