【发布时间】:2011-08-08 04:55:02
【问题描述】:
我有一个带有一个表单和两个按钮的 servlet。一个是提交按钮,另一个是删除按钮。默认操作是 Updater.do,但是当我单击 Delete 按钮时,我有一个函数可以将操作更改为 Deleter.do。这工作正常。我现在遇到的问题是,当我进入确认对话框时,如果用户单击“确定”,那么它会继续执行 Deleter.do,如我所愿。但是,当他们单击“取消”时,它似乎会转到“Updater.do”,而不是停留在页面上。我将如何解决这个问题?我尝试删除默认操作并让 Submit 和 Delete 都调用 changeAction,但这不起作用。这是javascript chgAction。
function chgAction(action_name) {
if (action_name=="Delete") {
var answer = confirm("Are you sure you want to delete this Person? This action cannot be undone.")
if (answer) { document.forms[0].action = \"Deleter.do\"; }
}
}
【问题讨论】:
-
您是否尝试过清除“取消”操作的 else 子句?
-
我已尝试执行“”操作。问题是,有表单数据,如果单击取消,我不希望页面重新加载,我不想发生任何事情。通过在单击取消时执行“”操作,重新加载页面 - 它表示此 URL 不支持 HTTP 方法发布。因此,我必须同时更改 HTTP 方法和 else 子句中的操作,这意味着我还必须在每次单击 OK 或单击提交按钮时更改方法。即使那样,表单数据也会被清除。
-
你好,你能把表格代码也发一下吗?我想我已经猜到您的问题了,只是想通过查看您的表单来确认。
-
out.println("<form name=\"form1\" action=\"UpdateSRF.do\" method=\"post\" onsubmit=\"return chgAction()\">");onsubmit 部分,我刚刚添加。 -
我认为问题在于 onsubmit 应该返回 chgAction("something")。但是,我不知道“某事”应该是什么
标签: java javascript forms servlets button