-1

フォームに隠しフィールドがあります。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.

                }
            }
        });
    });
});
4

5 に答える 5

2

この正確な文字列を URL として渡しています。

"delete.php?id=document.getElementById(#id).value"

あなたが意図したことは、要素から値を取得することです。ただし、 の中に入れているため""、単なる文字列であり、評価されません。次のようなことをする必要があります:

"delete.php?id=" + document.getElementById("id").value;

document.getElementByIdコードが文字列内にないことに注意してください。

于 2013-05-16T15:22:21.347 に答える
2

問題はここにあると思います

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

idフォームに を指定し、データ引数を次のように変更する必要があります (新しい引数もidになると仮定しますidke)...#

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

また、ジェームズの答えを参照してください。

于 2013-05-16T15:20:33.217 に答える
1
url: "delete.php?id=document.getElementById(#id).value",

これとあなたの投稿のphpタグに基づいて、あなたはPHPのバックグラウンドから来ていると思います. PHP の優れた点の 1 つは、変数の補間です。"My name is $name" を置き換えて、$name 変数の値を含めます。

ただし、javascript はデフォルトではこれを行いません。この特定の行を次のようなものに置き換えてみてください。

url: "delete.php?id=" + document.getElementById("id").value,

Vyx.ca の回答は、データ行の # の欠落に関しても正しいです。

于 2013-05-16T15:22:30.473 に答える
1

$("idke") のセレクター "idke" は有効な CSS セレクターではありません。

また、document.getElementById(#id).value文字列内に保持すると解析されませんurl: "delete.php?id=document.getElementById(#id).value"。おそらくあなたは意味しましたurl: "delete.php?id="+ document.getElementById("id").valueか?

于 2013-05-16T15:22:50.967 に答える