表单提交中form.action,form.submit()问题

转载 2007年07月17日 12:07:00


这两天做列表数据显示的时候,几乎被"对象不支持此属性和方法" 的错误提示搞疯掉了,两个完全一样的程序(事后才知道有个单词的大小写

不一样),竟然一个显示正常,一个却频繁提示出错。

在一般情况下,同一个表单只能被提交给同一个地址。但在实际web应用中,我们希望同一个表单可以根据用户的选择来完成不同的操作,即表

单的分向提交。比如说:在一个网站后台用户管理系统中,我需要对一些恶意的用户进行批量解锁,锁定用户或者删除的操作,当我从select

中选择删除会员时,我们希望表单会提交给能进行删除的处理程序,当我 从select 中选择锁定会员时,我们希望表单会 提交到锁定会员的处

理程序,解锁会员 也如此。我们极不愿意看到分别为这三个功能建立三个不同的页面,而其中仅仅 是处理程序不同。

利用客户端JavaScript的功能,我们简化可以把三项功能简化一个界面就可以完成,一个select,其中放置要进行的操作,一个Submit按钮(其

实一个普通的Button也可以实现,)

<form action="?" method="post" enctype="application/x-www-form-urlencoded" name="listfrm" id="listfrm">

<label>
<select name="Action" size="1" id="Action">
<option value="delete">删除</option>
<option value="lock">删除</option>
<option value="unlock">删除</option>
</select>
</label>

<input name="Submit" id="Submit" type="submit" value="确定" onclick="doPostBack(this.form,'?" />

</form>

这是JavaScript中doPostBack函数的源代码,其中传递的参数为表单对象的引用和表单的action文件地址

function doPostBack(formObj,actionFile){
if(confirm("确定要执行的操作吗?")){
formObj.action=actionFile;
formObj.submit();
return true;
}
return false;
}
这样可以在一个表单中放上多个Button,甚至是连接,都可以实现同一个表单的提交给不同的处理程序。

在做表单处理时要注意:

1、表单应该包含name,aciton,method这三个必须的属性,enctype,id这两个属性可以根据需要加上,一般是建议加上,表单不要嵌套

2.document.form.action与document.form.submit()一定不要搞混,action是属性,submit是方法,方法不要忘记加上左右括号,这是一般新

手经常遇到的问题。

3.在一个完整表单中,不应有名字为action或submit的标签,否则将会产生"对象不支持此属性和方法"的ie错误。如代码"<input type='xxxx'

name="action" >"在表单中是不允许出现的,而Action和Submit则是允许的(上面的程序代码就是用的是这样的写法),因为JavaScript是区分大

小写的。今天我就被这个大小写搞疯掉了,参考了n篇文章,终于找到原因所在,也留言自己的博客上做个备份!

 
 

JS控制form表单action去向

不知道大家遇没遇到这种情况,当我们提交一个表单的时候,可能因为相关的参数不同而需提交给不同的action地址。这时我们就可以用JS来实现这种功能。 =============== 把相同的内容提交...
  • w709854369
  • w709854369
  • 2011年03月19日 19:31
  • 30279

Struts功能详解——ActionForm

一:什么是ActionFormActionForm可以从下面四点理解它1 . ActionForm表示Http窗体的数据,也就是咱们页面表单数据收集器,可以看作是模型和视图的中介,他负责保存表单中的数...
  • lsh6688
  • lsh6688
  • 2012年04月30日 16:06
  • 10207

strust中Action类和ActionForm类的基本用法

这里用一个最简单的登录页面演示,一个LoginForm,一个LoginAction。   LoginForm如下: ----------------------------------------...
  • xzf19901108
  • xzf19901108
  • 2012年07月03日 10:48
  • 1659

jQuery修改form的action值并提交表单的方法

我们在开发项目的工程中,往往会遇到一个页面,一个表单里面放着俩个查询页面,我们希望通过不同的选择查询相应的信息,这时候我们就可以通过修改form表单里的action属性来实现,我们下面就来讲解一下如何...
  • edgdvcyz
  • edgdvcyz
  • 2016年11月26日 10:30
  • 11473

layer.js 弹出层提交form表单,action重定向

layer.js,一个jquery的插件,可以用它来做信息提示,弹出层等。  官方demo地址:http://layer.layui.com/ 官方api地址:http://layer.layui.c...
  • AHAU10
  • AHAU10
  • 2016年04月28日 19:33
  • 27497

form表单的action和onsubmit事件说明

首先 action在form是属性,onsubmit是事件。" onSubmit="return check();"> function check(){ var oText = doc...
  • hnczlzj
  • hnczlzj
  • 2016年12月13日 23:40
  • 1922

关于jsp表单提交中action所指向Servlet路径问题的总结

初学java web,在使用servlet处理jsp时发现很多提交表单时发生的错误都是因为提交路径出错造成的。 现以自己为例说明: 项目目录结构如下: web.xml文件主要内容如下: ...
  • ss1221yy
  • ss1221yy
  • 2017年04月25日 16:31
  • 5070

form表单的两种提交方式,submit和button的用法

1.当输入用户名和密码为空的时候,需要判断。这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写;有两种方法,一种是用submit提交。一种是用button提交。 方法一: 在jsp的...
  • honey_Claire
  • honey_Claire
  • 2012年06月13日 10:35
  • 607478

表单提交中的input、button、submit的区别

最近项目中用了很多的表单提交,发现input、button、submit甚至回车键都可以引发表单提交,下面将分别验证他们在使用中的区别。 1.input[type=submit] 我们直接...
  • ldc5306590
  • ldc5306590
  • 2017年01月12日 11:30
  • 5100

form表单的两种提交方式,submit和button的用法

1.当输入用户名和密码为空的时候,需要判断。这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写;有两种方法,一种是用submit提交。一种是用button提交。 方法一: 在jsp的...
  • hanshangzhi
  • hanshangzhi
  • 2017年05月02日 14:03
  • 1764
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:表单提交中form.action,form.submit()问题
举报原因:
原因补充:

(最多只允许输入30个字)