Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用表单操作单击按钮时停止向前链接_Php_Html_Input_Html Email - Fatal编程技术网

Php 使用表单操作单击按钮时停止向前链接

Php 使用表单操作单击按钮时停止向前链接,php,html,input,html-email,Php,Html,Input,Html Email,我创建了这段代码,允许计算som值。 单击“计算”按钮时,只显示结果。代码本身工作得非常好 为了能够记录数据,它还通过使用链接到php文件的表单和操作发送插入值的电子邮件。将此表单添加到代码后,它错误地重定向到表单操作url。理想情况下,按下按钮时,它应在网页上显示计算结果,而无需重新加载或重定向 我试图在没有任何运气的情况下使用“return false”。更改/添加按钮类型时,它将阻止计算功能或重定向 HTML文件: 您正在使用默认类型为submit的按钮,因此它将始终重定向到操作页面。 您

我创建了这段代码,允许计算som值。 单击“计算”按钮时,只显示结果。代码本身工作得非常好

为了能够记录数据,它还通过使用链接到php文件的表单和操作发送插入值的电子邮件。将此表单添加到代码后,它错误地重定向到表单操作url。理想情况下,按下按钮时,它应在网页上显示计算结果,而无需重新加载或重定向

我试图在没有任何运气的情况下使用“return false”。更改/添加按钮类型时,它将阻止计算功能或重定向

HTML文件:


您正在使用默认类型为
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>