这是我的表格:
<form id='forma' action="index1.php" method="post">
<input name="name1" type="text">
<input class="s_submit" value="ЗАКАЗАТЬ" type="button" onclick="send1()">
</form>
这是我的javascript:
function send1(){
$('#forma').submit(function(event){
var formData = {
'fio' : $('input[name=name1]').val(),
};
$.ajax({
type : 'post',
url : 'index1.php',
data : formData,
dataType : 'json',
encode : true
})
.done(function(data) {
console.log(data);
});
event.preventDefault();
});
}
这是我的index1.php:
$fio=$_POST['name1'];
$mail_to="_______my_email_________";
$msg="Your name is: $fio
mail($mail_to, $thm, $msg, $headers);
仅限我的电子邮件&#34;您的姓名是:&#34;邮件已发送,没有人提交的名称。当我将输入类型设置为提交并完全摆脱 send1()功能时,代码按预期工作。但输入必须是按钮类型,并且永远不会在按下时转到另一页。我想我应该摆脱一些变量赋值,但是哪些呢?
答案 0 :(得分:4)
POST数据中的变量在formData
对象中定义,密钥为fio
。因此,要检索它的PHP应为:
$fio = $_POST['fio'];
答案 1 :(得分:0)
在表单提交中,您将覆盖提交的实际表单(包含您的文本字段),并提交您自己的formData对象。
您可以使用
轻松地从HTML表单中获取数据 $("#forma").serializeArray()