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) 尝试添加 'debugger;' 到您的代码,然后在 Chrome 中打开页面,在刷新页面之前按 f12,选择源选项卡并打开您的页面。然后检查,value 中包含的内容是 discID

于 2012-11-18T15:38:22.673 回答