我的Servlet不断接收我的旧表单参数(JQuery AJAX)

时间:2012-03-08 17:08:23

标签: jquery ajax caching

我的表格存在问题。

我有一个按钮,当我点击它时它会运行这个脚本:

function new(){

    $('#new').load("Insert.jsp");
};

插入页面是一个对话框。它有4个选项卡,每个选项卡都有自己的形式。

假设我想在我的数据库中插入数字“10”。所以我写了10并单击按钮注册。注册按钮将运行此脚本:

function insert() {
$('#insert').load("ServletInsert",
                $('#form').serialize());
    };

然后我的Servlet收到表单并将其插入我的数据库中。到目前为止没问题。

当我关闭对话框并重新打开它时,我无法插入任何其他内容。如果我尝试插入数字“20”,我的数据库会抛出一个SQLException,因为我不能再使用数字“10”,因为它的列是主键。

问题是,即使我写了一些新东西,它仍然保留了我的表格中的旧值(在我关闭并重新打开它之后)。

拜托,有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

看起来您可能使用非唯一身份证。尝试将表单ID更改为类,然后按类选择它。

<form class="form">

$(".form").serialize();

但即使这样也无法正常工作,您需要根据事件源自的元素选择表单。

<强>更新
向对话框的close事件添加处理程序,该事件将删除对话框以防止DOM中存在重复的对话框。默认情况下关闭对话框只是隐藏它,它不会被删除。

$("#dialog").dialog({
    close: function(){
        $(this).remove();
    }
});