0

要素を追加した後、テーブルから最後の挿入 ID を返したいと思います。jquery経由でフォームを送信しています。

これが私のコードの主要部分です:

addEntry.php

[functional data insertion, blabla]
echo $connection->lastInsertId('ID');

jquery:

            $("#dishAdd").click(function(){                    

                $.post('./requests/addEntry.php',
                    {
                        position:dishPosition,
                        type:dishType
                    },
                    function(data) {
                        dishID = data;
                        alert(dishID);
                });

                $("#myelement").append(dishID);

            });

問題は、#dishAdd を最初にクリックしたときに、 $("#myelement").append(dishID) が次を返すことです。

[object HTMLInputElement]

私の最後のIDの代わりに。もう一度クリックすると、その後のすべてのクリックで同じように、正しい値が返されます。

最初のクリックで [object HTMLInputElement] が返される理由を知っていますか? alert(dishID); に注意してください。最初のクリックでも、常に正しい値が表示されます。

あなたが私を助けてくれることを願っています!

編集:移動して修正しました

$("#myelement").append(dishID);

の中へ

function(data) { $("#myelement").append(data); }
4

1 に答える 1

0

alert(dishID * 1) を試してください add 'debugger;' を試してください コードに追加し、Chrome でページを開き、ページを更新する前に f12 を押し、[ソース] タブを選択してページを開きます。次に、値にdishIDが含まれているかどうかを確認します

于 2012-11-18T15:38:22.673 に答える