c:foreach各参数详解
http://blog.csdn.net/liu78778/archive/2009/03/09/3973786.aspx
一个关于多个submit提交表单的问题
先大致说下页面的情况:
页面是根据获得到的集合循环生成多个表单块,每个表单块里面有三个按钮(发布,发布价格,下线)
因为源文件代码量太大,不好贴出来,我手写个差不多情况,以便更好理解
function submitform(str1,obj){
var c = window.confirm( '确定进行操作? ') ;
if(c == true){
var str = "form"+str1;
var test = "evenidStr"+str1;
var whatstr = "what"+str1;
var strEv = "";
var formtest = document.getElementById(str);
var allInput = formtest.elements;
var len = allInput.length;
for(var j=0;j<len;j++){
if(allInput[j].type=="checkbox"){
if(allInput[j].checked){
strEv += allInput[j].value+",";
}
}
}
if(obj.value=="下线"){
document.getElementById(whatstr).value = "下线";
}else if(obj.value=="发布价格"){
document.getElementById(whatstr).value = "发布价格";
}
document.getElementById(test).value = strEv;
formtest.submit();
}else{
return false;
}
}
<c:forEach var="plate" items="${forum.plates}" varStatus="c">
<form action="xxx" method="post" id="form">
<table>
...HTML代码
</table>
<input type="submit" value="发 布" name="submit"/>
<input type ="submit"value ="发布价格" name="submit"/>
<input type="button" value= "下线" name="submit" onclick="submitform(xx,this)"/>
</form>
</c:forEach>
点击提交后,在后台根据名字获取sumbit的值 然后根据值进行相应操作
现在需求在table中添加一列,复选框,进行选择性提交,提供全选和取消全选的超链接
我写了个js获取选中复选框,然后加了个隐藏域,将选中的ID拼接成字符串存放在隐藏域中,在后台获取隐藏域的值,拆分进行操作,js添加在form的onsubmit()方法中
遇到的第一个问题
1.全选的时候整个页面的复选框全被选中
解决方案:
先获得此表单,然后获取表单中的元素,然后根据元素的类型和选中情况获得ID
(这个js写的应该是效率很不好)
js代码:
function selectAll(str){
str = "form"+str;
var formtest = document.getElementById(str);
var allInput = formtest.elements;
for(var j=0;j<allInput.length;j++){
if(allInput[j].type=="checkbox"){
allInput[j].checked = true;
}
}
}
2.提交的时候总是提交不了
解决方案:
貌似是button提交表单的时候,如果表单中有名字为submit的按钮是提交不了
我自己也说不清,下面贴出查出的经典实例
<form action="www.google.com">
<input type="text" name="property" />
<input name="submit" value="submit" type=submit />
<input type="button" value="sub" onclick="javascript:this.form.submit()" />
</form>
表现就是 点submit可以提交,点sub无法提交。。。
于是怀疑form的submit函数有问题,尝试打印出form的所有属性,发现submit的值是字符串submit,
而不是一个function,看到submit的name后,恍然大悟,
button的name值设为submit后,它成为了form的一个属性,从而覆盖了form原有的submit函数。。
修正方法也很简单,将submit的name改为其他值就可以了。
变量名有意识的避开潜在关键字,还是一个挺好的习惯。
正是因为我之前在写表单的时候都避开了类似的关键字(从未出过类似问题),
所以看到他的表单的submit的时候只是觉得有点不妥,却没有警觉起来。
分享到:
相关推荐
在form表单提交中,使用button来间接完成submit的提交更为灵活。下面是实现方法: 使用button按钮实现submit提交,需要在button标签中的使用onclick方法,然后在JavaScript中实现具体,代码如下: <head> ...
如下所示: form表单ID:postform 设置表单请求url document.postform.action = SaveReturnInfo...以上就是小编为大家带来的js 提交form表单和设置form表单请求路径的实现方法全部内容了,希望大家多多支持软件开发网~
本文实例讲述了JS提交form表单。分享给大家供大家参考,具体如下: 一、javascript 页面加裁时自动提交表单: Form表单: <form method="post" id="myform" action="a.php"> <input type="submit" value=...
java实现当只有一个form时如果有多个submit的处理方法,详细代码、注释
今天小编就为大家分享一篇浅谈layui 绑定form submit提交表单的注意事项,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
submit表单提交,onsubmit验证拦截 免去了用button按钮click点击事件ajax请求
代码如下: ”javascript” name=”code”>function check(txt){ $j(“form”).submit(function(){ if($txt==”提交”){ this.action=”doAddMessage.action?button=提交”; this.submit(); }else{ this.action=”...
让submit只提交一次
用iframe提交表单,主要是将表单提交到iframe中,可实现无刷新提交。 html页面: <iframe name="FORMSUBMIT" width="1" height="1" ></iframe> <form action="login....
button的id不要设置为submit,否则可能会引起混淆,导致表单的submit()方法不能提交表单
ASP提交表单源码,供大家参考,ASP提交表单源码,供大家参考
本文实例讲述了JS定义网页表单提交(submit)的方法。分享给大家供大家参考。具体如下: 这段代码表示网页表单提交时不是提交到指定的页面,而是执行一个特定的函数 [removed] function saveInfo() { localStorage...
虽然用submit方法来提交表单有违Unobtrustive Javascript的原则,但有时候不得不用,比如做搜索提示(auto-complete)选中Item之后就需要用JS来提交搜索表单。 二、问题分析 既然本身不响应事件,那只有手工触发这些...
实现form表单的回调,以及异步,伪ajax,即用户通过form表单提交后,就可以等待后台的相应
这个问题太诡异了,是因为form中提交表单的input的name属性为submit,把name改成其他的名称,就可以使用了。 表单可以提交之后,又出现了新的问题。由于基于dz开发,表单提交之后使用submitcheck()这个函数来检查...
最普通最常用最一般的方法就是用submit type..看代码: 复制代码代码如下: <form name=”form” method=”post” action=”#”> <input type=”submit” name=”submit...第三种是使用链接来提交表单,用到了
主要介绍了JS中的form.submit()不能提交表单的错误原因,本文最后得出结论是按钮的ID、名称不要使用submit,需要的朋友可以参考下
form表单提交方式总结一下: 一、利用submit按钮实现提交,当点击submit按钮时,触发onclick事件,由JavaScript里函数判断输入内容是否为空,如果为空,返回false, 不提交,如果不为空,提交到由action指定的地址...
当用JS调用form的方法submit直接提交form的时候,submit事件不响应。为什么?知道的请回复。类比一下,我用input.select()做了测试,却能响应select事件。这个原因先放一边,我们看看先怎么把眼下的问题解决了。不...