用js提交表单解决一个页面有多个提交按钮的问题,主要是判断是否为提交文本,然后再执行相应的动作,比较简单。
<pre class="javascript" name="code">function check(txt){$j("form").submit(function(){
if($txt=="提交"){
this.action="doAddMessage.action?button=提交"
this.submit()
}else{
this.action="doAddMessage.action?button=保存"
this.submit()
}
})
}</pre><br>
<input type="IMAGE" src="style/blue/images/button/send.png" name="button" value="提交" onclick="check(this)"/><input type="IMAGE"src="style/blue/images/button/saveToDraftBox.png" name="button" value="保存" onclick="check(this)"/>
<pre></pre>
<p><br>
例如:页面中有两个图片按钮的提交,我们这个时候可以给他们都绑定onclick事件,这个时候我们借助jquery的form表单有个事件,叫做submit的。</p>
<p>如图,由于,我的项目里面用了dwr,我把jquery的控制权转让给dwr,jquery重新指定 了一个$j,我们获取表单,然后使用submit事件,通过判断value的值,从而可以进行多个页面的跳转。</p>
<p> </p>
<p> </p>
// 使用 jquery 来完成 ajax 操作,引用 jquery.min.js// 其中,把提交事件写到 success:function 中就可以了
// 如果需要放在 $.ajax() 外面,则需要定义全局变量,另外,需要设置 async:false,这个属性指的是,执行完 $.ajax() 中的所有内容之后,再往下继续执行 if(yes)
$(function(){
// 设置验证不通过
var yes = false
$.ajax({
type: "POST", contentType: "application/jsoncharset=utf-8",
url: url + params, cache: false, async: false, dataType: "json",
success: function (result) {
if(验证通过){
// $("#FormID").submit()
yes = true
}
}
})
if(yes){
$("#FormID").submit()
}
})
办法1.同一个页面中建立两个表单 各自提交:<form action="?" name="form1" id="form1">
<!-- 表单内容 -->
<input type="submit" />
</form>
<form action="?" name="form1" id="form1">
<!-- 表单内容 -->
<input type="submit" />
</form>
办法2:如果非要只有一个表单的话,通过js提交:
<script type="text/javascript" language="javascript">
function submitYouFrom(path){
$('form1').action=path
$('form1').submit()
}
</script>
<form action="?" name="form1" id="form1">
<!-- 表单内容 -->
<input type="button" value="提交1" onclick="submitYouFrom('地址一')"/>
<input type="button" value="提交2" onclick="submitYouFrom('地址二')"/>
</form>