处理隐藏字段真正的ajax

时间:2013-05-16 15:15:39

标签: php jquery ajax

我有一个隐藏的字段,我希望用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.

                }
            }
        });
    });
});

5 个答案:

答案 0 :(得分:2)

我相信问题就在这里

data: $("idke").serialize()

您应该为表单提供id并更改数据参数(假设新的id也是idke)...请注意#

data: $("#idke").serialize()

Also, see James' answer.

答案 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}}?