我有一个隐藏的字段,我希望用ajax进行处理,但它不起作用
formname = idke
hiddenfieldname = id
$(document).ready(function () {
$('.timeline_shout_buttons').click(function () {
$('#nodig').dialog({
width: 625,
height: 'auto',
buttons: {
Ok: function () {
$.ajax({
type: "POST",
url: "delete.php?id=document.getElementById(#id).value",
data: $("idke").serialize(), // serializes the form's elements.
success: function (data) {
alert(data); // show response from the php script.
}
});
return false; // avoid to execute the actual submit of the form.
}
}
});
});
});
答案 0 :(得分:2)
我相信问题就在这里
data: $("idke").serialize()
您应该为表单提供id
并更改数据参数(假设新的id
也是idke
)...请注意#
data: $("#idke").serialize()
答案 1 :(得分:2)
您将这个确切的字符串作为您的网址传递:
"delete.php?id=document.getElementById(#id).value"
您打算从元素中获取值。但是,由于您将其放在""
内,它只是一个字符串,不会被评估。你需要做这样的事情:
"delete.php?id=" + document.getElementById("id").value;
现在请注意,document.getElementById
代码不再在字符串中。
答案 2 :(得分:1)
您需要将您的ID附加到POST数据主体,如下所示:
url: "delete.php",
data: $("#idke").serialize() + "&id=" + $('#id').val()
答案 3 :(得分:1)
url: "delete.php?id=document.getElementById(#id).value",
根据你的帖子中的这个和php标签,我假设你是来自PHP的背景。 PHP的一个细节就是变量插值 - 将“我的名字是$ name”替换为包含$ name变量的值。
但是,默认情况下,javascript不会这样做。尝试用以下内容替换此特定行:
url: "delete.php?id=" + document.getElementById("id").value,
对于数据行中缺少的#,Vyx.ca的答案也是正确的。
答案 4 :(得分:1)
$(“idle”)中的选择器“idle”不是有效的css选择器。
如果将document.getElementById(#id).value
保留在字符串url: "delete.php?id=document.getElementById(#id).value"
内,url: "delete.php?id="+ document.getElementById("id").value
也不会解析。也许你的意思是{{1}}?