`

submit提交表单(多个submit,多个form)

阅读更多
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的时候只是觉得有点不妥,却没有警觉起来。



分享到:
评论
1 楼 zz894571429 2012-04-18  
引用
[/u][u]
引用
引用
引用
引用
[size=xx-small][/size]

相关推荐

    一个from表单提交多个功能

    ### 一个from表单提交多个功能 在Web开发中,我们经常会遇到需要通过同一个表单实现多种不同功能的情况。例如,根据用户的选择或输入执行不同的后端处理逻辑。本文将详细解析如何通过JavaScript来实现一个表单提交...

    js 提交form表单和设置form表单请求路径的实现方法

    如下所示: form表单ID:postform 设置表单请求url document.postform.action = SaveReturnInfo...以上就是小编为大家带来的js 提交form表单和设置form表单请求路径的实现方法全部内容了,希望大家多多支持软件开发网~

    JavaScript在form表单中使用button按钮实现submit提交方法

     在form表单提交中,使用button来间接完成submit的提交更为灵活。下面是实现方法: 使用button按钮实现submit提交,需要在button标签中的使用onclick方法,然后在JavaScript中实现具体,代码如下: &lt;head&gt; ...

    java处理一个form多个submit

    在 Struts1 中,使用 LookupDispatchAction 动作可以处理含有多个 submit 的 form。但是,这种方式需要访问属性文件,还需要映射,比较麻烦。从 Struts1.2.9 开始,加入了 EventDispatchAction 动作,该类可以通过 ...

    JS提交form表单实例分析

    本文实例讲述了JS提交form表单。分享给大家供大家参考,具体如下: 一、javascript 页面加裁时自动提交表单: Form表单: &lt;form method="post" id="myform" action="a.php"&gt; &lt;input type="submit" value=...

    submit表单提交,onsubmit验证拦截

    submit表单提交,onsubmit验证拦截 免去了用button按钮click点击事件ajax请求

    C# post方式提交Form表单

    下面是一个简单的C# POST提交Form表单的示例代码: ```csharp using System; using System.Net.Http; using System.Threading.Tasks; public class PostFormExample { public static async Task Main() { using...

    浅析一个表单多个Submit按钮的简单实现方法

    通常,一个表单只有一个Submit按钮,但有时根据设计需求,我们可能需要在同一个表单中添加多个Submit按钮,以实现不同的提交功能。本文将深入探讨如何在HTML和JavaScript中实现一个表单多个Submit按钮的简单方法。 ...

    JAVA表单上传多个文件 java web form表单上传多个文件.zip_form表单post提交

    在Java Web开发中,表单上传是常见的功能之一,尤其是当用户需要上传多个文件时。本文将详细讲解如何实现这个功能,主要涉及HTML表单、Servlet、MVC框架(如Spring MVC)以及文件处理的相关知识。 1. HTML表单设置...

    一个form多个submit处理案例

    在这个“一个form多个submit处理案例”中,我们将探讨如何在一个表单中使用多个submit按钮来实现不同的功能。这在实际应用中非常常见,比如在一个订单页面上,用户可能有一个“保存草稿”和“立即购买”的提交选项。...

    浅谈layui 绑定form submit提交表单的注意事项

    在本文中,我们将深入探讨layui框架中如何绑定form submit提交表单时需要注意的事项。layui是一个流行的前端组件库,提供了丰富的UI元素和便捷的API,其中包括表单处理功能。下面,我们将详细介绍两个关键点:lay-...

    巧用js提交表单轻松解决一个页面有多个提交按钮

    代码如下: ”javascript” name=”code”&gt;function check(txt){ $j(“form”).submit(function(){ if($txt==”提交”){ this.action=”doAddMessage.action?button=提交”; this.submit(); }else{ this.action=”...

    用iframe提交表单,主要是将表单提交到iframe中,可实现无刷新提交。

    用iframe提交表单,主要是将表单提交到iframe中,可实现无刷新提交。 html页面: &lt;iframe name="FORMSUBMIT" width="1" height="1" &gt;&lt;/iframe&gt; &lt;form action="login....

    form表单的异步回调方法

    通过以上步骤,我们可以实现一个form表单的异步回调,使得用户能够在提交表单后等待后台响应,而无需等待页面刷新。这种方法在现代Web应用中非常常见,特别是在需要动态更新内容或进行复杂交互的场景下。在压缩包`...

    form.submit()不能提交表单的错误原因及解决方法

    在本文中,我们将深入探讨一个可能导致`form.submit()`无法提交表单的错误原因,以及如何解决这个问题。 首先,我们要理解`form.submit()`这个JavaScript方法。它是HTML表单对象的一个方法,用于触发表单的提交动作...

    EXT异步提交FORM表单

    ### EXT异步提交FORM表单知识点详解 #### 一、EXT异步提交FORM表单概述 在现代Web应用开发中,异步提交表单是一种常见的技术手段,它能够提升用户体验,减少页面刷新带来的数据丢失风险,并能有效提高系统的响应...

    防止Layui form表单重复提交的实现方法

    通过form.on("submit(formConfig)",function(data){...})的调用,开发者可以指定当具有特定lay-filter属性的表单触发提交事件时,执行相应的函数。在这个函数内部,返回false可以阻止表单的提交,即阻止表单数据被...

    Submit-the-form.rar_form 提交_提交表单

    总之,"Submit-the-form.rar"提供的ASP提交表单示例是一个很好的学习资源,它涵盖了Web开发中的基本概念,包括HTML表单创建、ASP脚本处理、数据验证以及与用户的交互。通过深入研究这两个文件,开发者可以提升自己在...

    Struts2教程:处理一个form多个submit.doc

    这种机制简化了处理多submit表单的过程,使得无需额外的配置或者使用Struts1中的复杂动作类。它依赖于Struts2的拦截器(interceptors)和ActionContext来解析请求参数,并确定应该调用哪个Action方法。 总结来说,...

Global site tag (gtag.js) - Google Analytics