当函数返回false时如何在strut2 <sx:submit onClick="return myfunction(a, b)" />中停止提交表单
Posted
技术标签:
【中文标题】当函数返回false时如何在strut2 <sx:submit onClick="return myfunction(a, b)" />中停止提交表单【英文标题】:How to stop in strut2 <sx:submit onClick="return myfunction(a, b)" /> from submitting form when function returns false 【发布时间】:2012-07-19 21:02:24 【问题描述】:<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<html>
<head>
<sx:head cache="true" />
<script>
myfunction(a, b)
if ( a> b)
return true;
else
return false;
</script>
</head>
....
<s:form action="saveXXXX" >
.... fields....
<s:submit onclick="return myfunction(a, b);" /> //THIS ONE WORKS - NON AJAX
<sx:submit onclick="return myfunction(a, b);" /> //Using sx ajax tag
<sj:submit onclick="return myfunction(a, b);" id="formSubmit1" targets="formResult" value="AJAX Submit" button="true" /> //if using Jquery Plugin ajax tag
//how to stop form submittal if function returns false.
</s:form>
该表单使用 s:submit .. 工作,但现在我尝试使用 sx:submit ... 或 jquery 的 sj:submit ... 进行 ajaxfy 处理
我想根据函数返回的内容使用 AJAX 有条件地提交表单。
怎么做?
【问题讨论】:
你在处理一些旧的 struts2 版本/应用程序吗? Dojo 标签已弃用且不再受支持。 即使切换到 JQuery 插件。所以 .. 现在不要使用提交按钮,而是使用简单的按钮
<s:form action="saveXXXX" name="myForm">
<input type="button" onclick="myfunction(a, b);"/>
</s:form>
在你的函数中
function myfunction(a, b)
if ( a> b)
document.myForm.submit();
【讨论】:
按照您的建议执行非 AJAX 表单提交。我想使用 AJAX$.post
或显示此普通按钮并隐藏或为“您是否尝试过使用 'onsubmit="return myFunction();" ' 标签内的属性?
<s:form action="actionName" onsubmit="return myFunction();"> ... </s:form>
【讨论】:
以上是关于当函数返回false时如何在strut2 <sx:submit onClick="return myfunction(a, b)" />中停止提交表单的主要内容,如果未能解决你的问题,请参考以下文章
在excel表格中FALSE和TRUE代表啥意思?是否否与是的意思?