当我点击submit
按钮时,它应该为我的发送页面提供$_POST
。
我的工作是:
- &GT;点击<input type="submit" name="sendMail" value="Verzend E-Mail" class="sendMail">
时点击
- &GT;我创建了一个var link
并在其中设置了整个<form action="" method="post" id="formSendMail">
- &GT;然后将$.ajax()
请求link
作为数据提供给我发送到的页面
- &GT;当.done(function(data))
将数据放入$("div.emailSendComplete")
所以现在你知道我非常想要的......
到目前为止我所拥有的代码是:
Jquery:
<script>
$(document).ready(function(){
$("input.sendMail").on("click", function(){
var link = $("form#sendMailForm");
$.ajax({
type: "POST",
url: "checklistHandler.php?action=sendMail",
data: link
}).done(function (data){
$("div.emailSendComplete").append(data);
});
});
});
</script>
HTML:
<table id="cont" style="line-height: 80px; text-align: center;">
<tr id="sendMail" style="">
<form action="checklistHandler.php" method="post" id="sendMailForm">
<td style="width: 150px;">Email:</td>
<td>
<input style="padding: 5px; text-align: center; min-width: 10px; border-radius: 3px;" id="email" type="text" name="email" id="email" value="<?= $email ?>">
<span class="emailCheck"></span>
</td>
<td style="position: relative; left: 50px;">
<input type="hidden" name="verzendMail" value="1">
<input type="submit" name="sendMail" value="Verstuur E-Mail" class="sendMail" style="border-radius: 3px;">
</td>
</form>
</tr>
PHP(checklistHandler.php):
if ($_GET['action'] == 'sendMail') {
print_r($_POST);
exit();
}
答案 0 :(得分:1)
解决:
我确实试图给出整个POST,但我也只能给INPUT提供电子邮件。 因为我只需要那个。
答案 1 :(得分:0)
您是否尝试发送表单的HTML?如果是这样,而不是:
var link = $("form#formSendMail");
(那将返回一个jquery对象,除非我错了)
使用它:
var link = $("#formSendMail").html();
不完全清楚你要做什么,所以我可能会误解......
答案 2 :(得分:0)
这里有 two 三个问题:
formSendMail
vs sendMailForm
。看起来应该或多或少:
$(document).ready(function(){
$("input.sendMail").on("click", function(event){
^^^^^ you need this later on
// second and third problem, missing data and wrong ID
var link = $("form#sendMailForm").serialize();
^^^^^^^^^^^^ use the right ID here
// first problem, default submit
event.preventDefault();
// the rest of your code
答案 3 :(得分:0)
您需要在代码中更改一些内容
$(document).ready(function(){
//instead of input button click use form
$("#sendMailForm").submit(function(e){
// first problem, prevent default submit
e.preventDefault();
var link = $('#sendMailForm').serialize();
$.ajax({
type: "POST",
url: "checklistHandler.php?action=sendMail&email=",
data: link
}).done(function (data){
$("div.emailSendComplete").append(data);
});
});
});