【发布时间】:2021-06-03 15:22:16
【问题描述】:
我想从 html 表单中获取输入,并通过我的 JavaScript 将它们发送到 PHP。基本上我有一个非常简单的 html 表单,我想获取它的输入并使用 JavaScript 将它们发送到 PHP,因为我正在使用 AJAX。
问题在于,每当我填写表格并提交时,它只会向我发送一封电子邮件,但没有表格中的值——这正是我在 PHP 中已有的内容。
HTML 代码
<!-- CONTACT FORM START -->
<form id="contact-form" class="fade-up" method="post" action="">
<div class="row">
<!--NAME FIELD-->
<div class="col-md-6">
<input type="text" id="cf-name" class="input__field cf-validate" name="name" placeholder="Name">
</div>
<!--EMAIL FIELD-->
<div class="col-md-6">
<input type="text" id="cf-email" class="input__field cf-validate" name="email" placeholder="Email">
</div>
<!--MESSAGE BOX-->
<div class="col-md-12">
<textarea id="cf-message" class="input__field cf-validate" rows="8" name="message" placeholder="Your Message"></textarea>
</div>
<div class="alert-container col-md-12"></div>
<!--SUBMIT BUTTON-->
<div class="col-md-12">
<button type="submit" id="cf-submit" name="subind" class="main-btn cursor-link">Send as an individual</button>
<button type="submit" id="cf-submit" name="subbiz" class="main-btn cursor-link">Send as a business</button>
</div>
</div>
</form>
<!-- CONTACT FORM END -->
Javascript 代码
$(document).ready(function() {
$('form').submit(function (event) {
event.preventDefault()
var name = document.getElementById('cf-name').value
var email = document.getElementById('cf-email').value
var msg = document.getElementById('cf-message').value
//make a post request by AJAX
$.post("mail.php",{name:name,email:email,msg:msg},function(data){
console.log(data)
})
})
})
PHP 代码
<?php
$name = $_POST['name'];echo $_POST['name'];
$email = $_POST['email'];echo $_POST['email'];
$message = $_POST['msg'];echo $_POST['msg'];
$subject = "Client Mail - Individual";
$to = "clients@growpile.com";
$headers = "From: ".$email;
$txt = "Name: ".$name." - Individual"."\n"."From: ".$email."\n\n".$message."\n\n".$ind;
mail($to, $subject, $txt, $headers);
?>
【问题讨论】:
-
那么您遇到的问题是什么?你有什么错误吗?你还没有具体说明你需要什么帮助。
-
哎呀,我发送给自己的电子邮件没有我在表单中输入的任何数据。它们只是在值应该存在的地方带有空格的模板。
标签: javascript php html ajax forms