HTML onsubmit事件属性不会触发要发送的电子邮件

时间:2016-03-12 15:05:35

标签: php html email events

所以问题如下......

我有一个SO_SNDBUF文件,其中包含一封发送确认信息的工作电子邮件。 我还有一个名为email.php的文件,其中包含预约的表格。该表单有一个booking.php事件,它将所有值更新为mySQL中的数据库。该表单在action="treatment_form"字段中有value="submit"

我在<input>添加了onsubmit="email.php",数据更新到数据库,但电子邮件实际上从未发送过。

这是我的HTML代码:

<form>

修改 <form action="treatment_form.php" onsubmit="email.php" method="post"> <div class="heading1"> <p>Select Your Treatment:</p> </div> <div class="dropdown"> <select name="Treatment"><?php echo $options; ?></select> </div> <div class="heading4"> <p>Add a message for our Staff:</p> <textarea name="Message" placeholder="Enter Message..."></textarea> </div> <div class="submit"> <input type="submit" value="Request Booking" id="Submit"> </div> </form>

treatment_form.php

2 个答案:

答案 0 :(得分:2)

我认为问题在于使用 email.phponsubmit函数中。它应该指定要在表单中提交的函数,最好是通过JavaScript。

您可以尝试将email.php与treatment_form.php合并,一旦查询完成并成功,就会发送电子邮件。

像这样: treatment_form.php

if(mysqli_query($conn,$query)){ include('email.php');}

作为替代方案,您还可以使用onsubmit触发JavaScript函数在后台运行email.php,也许使用ajax。

如果您需要查看PHP Ajax教程,请点击此处 - http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

更新

//After the line where you have completed the query successfully
if(mysqli_query($con,$insert)) { include('email.php'); //make sure you have all the variables you need for email.php is ready}
mysqli_close($con); //close the connection

注意:mysql_*  在PHP 7中已弃用并删除了函数。请改用mysqliPDO

答案 1 :(得分:0)

您的代码在以下方面非常模糊 - &gt;

action属性决定要去哪个页面,onsubmit是一个事件属性,用于决定在提交表单时运行哪个脚本。  您应该在onsubmit事件的帮助下运行脚本(javascript)。

尝试使用ajax和php点击know more

P.S。我不是英语母语人士