我尝试通过仅单击页面上的“读取”按钮来更新我的pm中信使的状态。因此,我在此站点上找到了一些解决方案,但这对我而言实际上并不起作用。
我在html按钮之前使用了此ajax:
<script type="text/javascript">
function setRead(){
$.ajax({
type: "POST",
url: "update_pm_status.php",
data: { name: $("select[name='gelesen']").val()},
success:function( msg ) {
alert( "Data Saved: " + msg );
}
});
}
</script>
该按钮的样式为css,并使用其自己的javascript切换内容(打开/关闭)
所以我想通过打开消息来更新状态
<span class="toggleOpen" onclick="setRead()"><input type="hidden" method="post" name="gelesen" value="<?php echo $row['id']; ?>">lesen</span>
包含的网站是
<?php
ini_set('include_path', 'inc');
require("connect.php");
{
$id = $_POST['id'];
$sql = "UPDATE
PMS
SET
gelesen = 'yes'
WHERE id = '".mysql_real_escape_string($id)."' AND gelesen = 'no'";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
}
但我总是得到未定义变量“ id”的通知。
我如何将此变量赋予包含的站点?
因为我必须等待8个小时才能回复,所以我编辑了我的帖子:
感谢您的回答,但我仍然收到未定义索引的消息:名称
所以该变量不是发布到我的update_pm_staus.php
我已经将我的脚本更新为:
<script type="text/javascript">
函数setRead(){
$ .ajax({
输入:“ POST”,
网址:“ update_pm_status.php”,
数据:{id:$(this).children(“ [name ='gelesen']”)。val()},
success:function(msg){
alert(“已保存数据:” + msg);
}
});
}
和update_pm_status.php到此:
ini_set('include_path', 'inc');
require("connect.php");
$id = $_POST['name'];
$sql = "UPDATE
PMS
SET
gelesen = 'yes'
WHERE id = '".mysql_real_escape_string($id)."' AND gelesen = 'no'";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
我也像这样改变了我的html,希望能使它工作。
<span class="toggleOpen" onclick="setRead()" input type="hidden" method="post" name="gelesen" value="<?php echo $row['id']; ?>">lesen</span>
参考方案
好像您正确发送了id
,但您将其作为name
发送。您想要更新JavaScript,以传递期望的key:value对,以及您在PHP中期望的键名。
<script type="text/javascript">
function setRead(){
$.ajax({
type: "POST",
url: "update_pm_status.php",
data: { id: $(this).children("[name='gelesen']").val()},
success:function( msg ) {
alert( "Data Saved: " + msg );
}
});
}
</script>
您会注意到,在AJAX请求的data: {}
块中,我已将您的key:value对更新为id
,而不是name
。如果您在POST时执行名为name
的键,则需要更新PHP来查找:
$id = $_POST['name'];
使用JS和PHP更改弹出窗口背景图像 - javascript我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …
执行onclick时获得意外令牌 - javascript我正在使用onclick事件从PHP调用JS函数。这是我的代码:我在一个函数中,因此我需要通过PHP来完成它,因为然后我会返回:$html = '<input type="checkbox" checked value="1" id="setGetSku" name="se…
PHP json_encode数组到javascript关联数组 - javascript我有一些从PHP中读取的mysqli列。它正在完美地获取和回显。$results = mysqli_fetch_assoc(mysqli_query($conn, $querystring)); echo json_encode($results); //$results = {"title":"Sea Shells"…
PHP-显示特殊字符 - javascript允许用户输入的代码段//fetch user input and pass it in URL alertify.prompt("Please enter note/remarks for this Form (optional):", function (e,value) { if (e) { alertify.success(…
JavaScript只在表格的第一行执行 - javascript我有一个重复的表行15次。然后在其中一个字段上执行JS。问题在于它仅在表的第一行执行JS。我究竟做错了什么?PHP Table脚本: for ($x = 1; $x <= 15; $x++) { echo '<tr>'; echo '<td><input size="6" …