这是表格
<cfoutput>
<form name = "xrefform"
id = "xrefform"
action = ""
method = "post"
onsubmit = "return submitx('#coltop#', '#col#')">
</cfoutput>
有两种不同的提交方式: 1)何时希望将表单中的数据放在MySql表中 2)何时希望从Mysql表中删除数据
对于我的第一个案例
<input type = "Submit"
name = "SubmitXref"
class = "submitbut"
value = "Submit"
onclick = "aasubmit('xref2.cfm')">
使用相应的javascript:
function aasubmit(target) {
document.xrefform.action = target;
}//end function aasubmit
这很好用。
对于删除案例我有
<input type = "Submit"
id = "delbut"
class = "onoffbut"
value = "delete"
onclick = "aasubmit('repdel.cfm')">
这有一个问题,即submitx()javascript运行,在这种情况下我不想要它。
我发现使用document.form.submit()方法的引用将避免运行onsubmit函数。但我无法弄清楚如何表明行动。
有人可以告诉我该怎么做吗?
在找到更多的东西后,我找到了答案:
对于删除按钮 - 需要躲避onsubmit脚本 - 这是HTML:
<input type = "button"
id = "delbut"
value = "Delete this item"
onclick = "buttonsubmit('xrefdel.cfm', 'xrefform')">
这是javascript。
function buttonsubmit(target, source) {
var q = document.getElementById(source);
q.action = target;
q.submit();
}
这完美无缺。普通提交遵循onsubmit脚本,删除按钮跳过它。
答案 0 :(得分:0)
让我们概述您的要求:
如果您为每个提交按钮添加name
,那么您可以拥有一个操作页面并检查单击了哪个按钮。
name="doUpdate"
或name="doDelete"
表单范围中唯一存在的名称键是单击任何提交按钮。使用structKeyExists()
进行相应的检查和处理。
当然,您可能希望使用onsubmit="return validateForm()"
来调用验证函数。如果您单击&#34;删除&#34;,您可能希望用户在处理之前确认这是他们想要做的。函数validateForm()
只需返回true
或false
,因此您仍然可以避开JavaScript submit()
。
答案 1 :(得分:0)
在表单中执行以下操作:
<input name="action" value="save" id="action" type="hidden">
<button type="submit" class="button button-basic-green" onclick="document.getElementById('action').value='save';"><span class="fa fa-save"></span> Save</button>
<button type="submit" class="button button-basic" onclick="document.getElementById('action').value='reload';"><span class="fa fa-repeat"></span> Save & Reload</button>
<button type="submit" class="button button-basic" onclick="document.location.href='./';return false;"><span class="fa fa-arrow-circle-o-left"></span> Cancel</button>
然后在单一的表单 - 操作页面中,检查form.action是什么并相应地处理。
<cfif form.action eq "reload">
<cfset loc="page.cfm?id=#form.id#">
<cfelse>
<cfset loc="./">
</cfif>