`
tianhandigeng
  • 浏览: 374240 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

根据不同情况提交表单

    博客分类:
  • java
JSP 
阅读更多

     在项目开发的过程中经常涉及到表单提交的问题,为了使得处理更加灵活一种情况是不设死表单的action属性,而是在后台设置,再显示到前台的jsp中,这是一种情况,这种情况处理起来还是不怎么轻松的。当一个表单中有多个非type为submit的按钮时,当点击按钮做一些判断以后,还是希望把表单项传递给后台,再写这篇文章之前我是这样傻傻处理的,因为表单有个循环,循环中有很多的checkbox,我要做的是当点击按钮的时候做一下判断,然后把这些checkbox的值传递给后台,如果是直接表单提交的话,直接在后台用request.getParameterValues()这种方式就可以了,但是现在我不是直接表单提交(当时傻傻的没想到还是用表单提交),我处理的是在js中设置转向,也就是重新设置window.location.href的值,不过这样就有一个问题,这些同名的checkbox怎样才能传递给后台了,url只能待String类型的参数,那怎么办了,你看我是怎么处理的:

js中:

  //处理选择值
  var pids="";
  idsCheck.each(function(){
      pids+=$(this).val()+",";
  });
window.location.href=""cp.jsp?ac=product&manage=recommend&op=add&ids="+pids";

 我的思路就是把这些值组成一个String,带在url中传递给后台,在后台再用String的split方法来拆成String数组,你说傻不傻,这一看就是非常规的处理方法,一直告诫自己如果你用了非常规方法,这时候后你就要想想其他的思路了,非常规方法虽然达到了效果,但是是不值得的,所以处理问题一定要先从常规的处理方法出发。

    对于上面这种情况,应该怎么解决了。我觉得首先你要弄清楚你要干什么,你不就是希望点击不同的按钮后台能有不同的处理方式吗,既然你可以在js中动态转向,那为什么不直接设计form的action属性使得它提交给不同的处理方法呢,这样数据传送就方便了很多,这种处理方法相当简单,js代码如下:

//商品上架
function onsale(){
   var idsCheck = $(".list input[name='ids']:checked");// ID复选框
   if(idsCheck.length ===0){
     alert("请选中要上架的宝贝!"); 
     return; 
   }
   
   var $listForm = $(".list form");// 列表表单
   //重新设置表单action
   $listForm.attr("action","cp.jsp?ac=product&manage=list&op=onsale");
   $listForm.submit();
}

 这个方法的思路就是,在提交表单之前,重新设置form的action,简单吧!

 

“海燕啊,你说你是不是傻,是不是傻”

 

分享到:
评论

相关推荐

    js实现定时提交表单

    在在线考试系统中,定时提交表单是一个关键功能,它确保考生在规定时间结束后自动提交试卷,防止作弊并保证考试公平性。下面将详细介绍如何使用JavaScript实现定时提交表单的功能。 首先,我们需要理解表单(Form)...

    .net 后台提交表单并返回结果

    在.NET开发环境中,后台提交表单并返回结果是常见的网页交互模式,主要涉及HTML表单、HTTP请求以及服务器端的处理。在这个过程中,`a.aspx`页面作为客户端表单的发起者,通过POST或GET方法将数据提交到`b.aspx`页面...

    js提交表单的三种方式

    在JavaScript中,提交表单是网页交互中的常见操作,它允许用户输入数据并将其发送到服务器进行处理。这里我们将详细探讨三种主要的表单提交方式:默认的HTML表单提交、JavaScript事件处理以及Ajax异步提交。 1. **...

    利用ajax提交表单完整流程

    本文将详细介绍如何利用AJAX提交表单的完整流程,以实现更加流畅和用户友好的交互体验。 ### 1. 创建HTML表单 首先,我们需要创建一个HTML表单,它包含了用户输入的数据和一个用于触发AJAX提交的按钮。例如: ```...

    批量提交表单JS

    在网页开发中,批量提交表单是一个常见的需求,特别是在处理大量数据时,如上传文件、录入信息等。JS(JavaScript)作为客户端脚本语言,能够有效地实现这一功能。本资源包含了一个名为`jquery.form.js`的文件,它是...

    C# post方式提交Form表单

    本篇文章将深入探讨如何使用C#实现POST方式提交Form表单,这对于网络应用程序的开发至关重要,因为它允许我们向服务器发送数据,比如登录、注册、提交表单等操作。 1. **HTTP POST方法**: HTTP协议提供了两种主要...

    JS提交form表单实例分析

    一、javascript 页面加裁时自动提交表单: Form表单: <form method="post" id="myform" action="a.php"> <input type="submit" value="提交表单"> </form> javascript 代码: [removed] ...

    jq ajax提交表单

    完整的jq ajax提交表单,奖解压后jq文档加入页面中,调用就可惟了。 表单结构 <form id="myForm" action="comment.php" method="post"> Name: <input type="text" name="name" /> Comment: <...

    js验证表单大全,用JS控制表单提交 ,javascript提交表单

    js验证表单大全,用JS控制表单提交 ,javascript提交表单

    js提交表单及js表单验证

    ### JS提交表单及JS表单验证 在Web开发中,JavaScript经常被用来增强用户体验,其中一个重要的应用领域就是表单验证。通过JavaScript进行前端验证,可以及时反馈用户输入错误,提高交互效率。本文将详细解释如何...

    javascript方式防止表单重复提交

    JavaScript作为客户端脚本语言,可以通过多种策略来防止用户意外或恶意地多次提交表单。以下是一些关键的知识点: 1. **禁用提交按钮**:最简单的预防方法是在用户点击提交按钮后立即将其禁用。这可以通过监听`...

    post模拟登录,提交表单

    在IT行业中,模拟登录和提交表单是网络自动化和数据抓取的重要技术,常用于测试、数据分析或自动化脚本编写。这里的"post模拟登录,提交表单"涉及到HTTP请求方式中的POST方法,以及如何处理登录过程和后续的表单提交...

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

    用iframe提交表单,主要是将表单提交到iframe中,可实现无刷新提交。 html页面: <iframe name="FORMSUBMIT" width="1" height="1" ></iframe> ...

    ajax提交表单小例子

    本示例主要涉及如何使用AJAX来提交表单,并解决在提交中文数据时可能出现的乱码问题。 首先,我们了解AJAX的基本结构。一个基本的AJAX请求通常包括以下几个步骤: 1. 创建XMLHttpRequest对象:这是AJAX的核心,...

    提交表单后提交禁用提交按钮,防止重复提交

    提交表单后提交禁用提交按钮,防止重复提交.

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

    在上述函数中,如果需要在禁止表单默认提交行为的同时,与服务器进行数据交互,则可以使用JavaScript的XMLHttpRequest或者现代的Fetch API来异步提交表单数据。使用AJAX提交表单数据的好处是,可以避免页面刷新,...

    Ajax使用jQuery提交表单 文件

    在这个“Ajax使用jQuery提交表单 文件”中,我们将探讨如何利用jQuery实现Ajax提交表单,从而实现异步数据传输,提高用户体验。 首先,我们需要理解jQuery中的Ajax函数`$.ajax()`。这是一个核心函数,可以进行各种...

    JQuery表单提交和后台交互源码20130509

    仅使用jQuery提交表单和后台交互,不使用基于jQuery的表单插件 方式1、取到页面控件的值后拼接放在data中,传递到后台 方式2、页面序列化后放在data中,传递到后台 注:此种方式需设置页面控件的name属性

    无刷新提交表单实现

    无刷新提交表单实现是现代Web开发中的一个重要技术,它为用户提供更为流畅的交互体验,无需等待整个页面刷新即可完成数据的提交与处理。这种技术通常依赖于Ajax(Asynchronous JavaScript and XML)或者现代浏览器...

Global site tag (gtag.js) - Google Analytics