如何使用单个按钮调用两种不同的方法?

时间:2010-08-24 08:14:39

标签: java javascript html

在我的Web应用程序中,我有一个数据表(使用PreparedStatement从DB显示)。每行都有一个编辑按钮。表格位于桌子下方。如果我单击编辑按钮,行中的数据将填入表单。所以,我可以编辑并保存它。

或者,我可以在表单中输入新数据并添加新行。问题是“保存”按钮。更新&插入需要不同的查询。

所以,我想调用两种不同的方法。 关于这个问题的任何想法。

其他信息: 该网页是使用HTML& amp; Java脚本。后端使用Java连接数据库并获取数据。

感谢。

5 个答案:

答案 0 :(得分:4)

您可以在隐藏字段中添加已编辑元素的ID。如果没有提供id,则它是一个新对象,如果提供了id,则它是一个编辑操作。显然,为了防止间谍,你应该用散列的替换真实的id。

答案 1 :(得分:1)

您需要的只是一个隐藏的输入字段,最初设置为不同的值,然后单击编辑按钮。然后,您可以检查该字段的值,并在保存操作中执行INSERT或UPDATE。

答案 2 :(得分:1)

您使用的是JavaScript库吗?如果您使用的是JQuery,则可以轻松地将事件绑定到解除绑定和取消绑定。它还具有数据概念,您可以使用它将任何元数据附加到控件(如按钮)。使用元数据作为按钮模式(编辑/保存)而不是隐藏字段。

示例代码:(在页面加载期间,它可能是一个编辑)

$("mybutton").data("mode", "edit"); //data is a dictionary for key/values
$("mybutton").click(EditFunction);

答案 3 :(得分:1)

您应该考虑使用javax.persistence.*和适当的框架进行数据库操作。

如果你想坚持使用纯SQL,你应该拥有表行的某种状态信息。它是否已分配主键?这个密钥是由数据库生成的吗?比该行已存在于数据库中,您的方法可以生成UPDATE语句。如果尚未分配密钥,请使用INSERT

另一个好主意是使用用于显示数据的简单Java Bean封装查询结果。简单对象允许您存储和处理其他数据和信息 - 在生成正确的SQL语句时可以很安静。

答案 4 :(得分:0)

  

或者,我可以在表单中输入新数据   并添加新行。问题是   “保存”按钮。更新&插入需求   不同的疑问。

是否可以对插入和放大使用相同的查询更新???