当我按下按钮.bid,这是一个提交按钮时,我试图在同一页面上将一个Jquery变量(items)传递给php变量$ itemdestination:
<script>
$(".bid").click(function () {
var items = $(this).closest("tr") // Finds the closest row <tr>
.find(".nr") // Gets a descendent with class="nr"
.text(); // Retrieves the text within <td>
var itemdestination = $(this).closest("tr") // Finds the closest row <tr>
.find(".no") // Gets a descendent with class="nr"
.text();
$("#prøve").append(items, itemdestination); // Outputs the answer
$.ajax({
url: 'Jobs.php',
type: 'POST',
data: {items: items}
});
});
</script>
<?php
if (isset($_POST['button_pressed'])) {
$itemdestination = $_POST['items'];
//Email information
$admin_email = "admin@speditionhub.com";
$email = $userName;
$subject = "Bid registered on your cargo";
$comment = $itemdestination;
echo $admin_email;
echo $comment;
//send email
mail($email, "$subject", $comment, "From:" . $admin_email);
}
?>
<script>
alert("Your bid is registered");
</script>
<?php
}
?>
但是我正在使用的方法没有传递任何内容。我做错了什么?
答案 0 :(得分:1)
删除以下if语句并尝试:
if(isset($_POST['button_pressed']))
答案 1 :(得分:1)
不是这样的:
if(isset($_POST['button_pressed']))
应该是:
if(isset($_POST['items']))
似乎您正在检查错误的发布变量。
答案 2 :(得分:1)
你需要在你的js中为button_pressed设置一个post字段(为了你的php运行),然后用返回的数据做一些事情:
$.ajax({
url: 'Jobs.php',
type: 'POST',
data: {items: items, button_pressed: true},
success: function(data){
console.log(data);//do something with the data returned
}
});
编辑如果绑定到提交按钮上的click事件,则必须使用event.preventDefault停止正常提交表单:
$(".bid").click(function (ev) {
ev.preventDefault();
//the rest of your code here