Php 使用表单操作单击按钮时停止向前链接
我创建了这段代码,允许计算som值。 单击“计算”按钮时,只显示结果。代码本身工作得非常好 为了能够记录数据,它还通过使用链接到php文件的表单和操作发送插入值的电子邮件。将此表单添加到代码后,它错误地重定向到表单操作url。理想情况下,按下按钮时,它应在网页上显示计算结果,而无需重新加载或重定向 我试图在没有任何运气的情况下使用“return false”。更改/添加按钮类型时,它将阻止计算功能或重定向 HTML文件:Php 使用表单操作单击按钮时停止向前链接,php,html,input,html-email,Php,Html,Input,Html Email,我创建了这段代码,允许计算som值。 单击“计算”按钮时,只显示结果。代码本身工作得非常好 为了能够记录数据,它还通过使用链接到php文件的表单和操作发送插入值的电子邮件。将此表单添加到代码后,它错误地重定向到表单操作url。理想情况下,按下按钮时,它应在网页上显示计算结果,而无需重新加载或重定向 我试图在没有任何运气的情况下使用“return false”。更改/添加按钮类型时,它将阻止计算功能或重定向 HTML文件: 您正在使用默认类型为submit的按钮,因此它将始终重定向到操作页面。 您
您正在使用默认类型为
submit
的按钮
,因此它将始终重定向到操作
页面。
您可以将
按钮更改为type=“button”
,并将ajax
请求从calculate()
函数发送到/php/calcA.php
页面以发送邮件。告诉Javascript防止表单发布:
<form action="/php/calcA.php" method="POST" role="form" onsubmit="return handleForm();">
<blah></blah>
<form>
<script type="text/javascript">
function handleForm(e) {
e.preventDefault(); // form will now not submit
// do your thing!
}
</script>
功能手柄(e){
e、 preventDefault();//表单现在不会提交
//做你的事!
}
我对ajax相当陌生,但正如您在代码中看到的,它现在发送电子邮件。不幸的是,电子邮件中不包含在“num1”和“num2”中输入的值。我已经测试了php文件,它工作得非常好,所以我认为它需要一个用于ajax查询的元素。我已经更新了原始帖子中的代码。将xhttp.send()
替换为xhttp.setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);xhttp.send(“num1=field1&num2=field2”)代码>你好,阿塔尔·普拉蒂克,反馈很好。我一步一步地开始理解多种元素。虽然我可以理解你的评论,但结果是我收到了一封带有实际文本“field1”和“field2”的电子邮件,而不是实际插入值。是格式问题吗?提前谢谢。我收到了:(“num1=“+field1+”&num2=“+field2”);谢谢你的帮助:-)很乐意帮忙
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];
$email_from = 'Data from calcA';
$email_subject = 'Data from CalcA';
$email_body =
"$num1\n".
"$num2\n"
$to = "data@youremail.com";
$headers = "From: $email_from \r\n";
$headers = "Reply-To: $email \r\n";
mail($to,$email_subject,$email_body,$headers);
<form action="/php/calcA.php" method="POST" role="form" onsubmit="return handleForm();">
<blah></blah>
<form>
<script type="text/javascript">
function handleForm(e) {
e.preventDefault(); // form will now not submit
// do your thing!
}
</script>