表单提交中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篇文章,终于找到原因所在,也留言自己的博客上做个备份!

 
 

相关文章推荐

Struts1的标签及意义

"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts...
  • dcrose
  • dcrose
  • 2017年09月11日 13:37
  • 48

DWR学习笔记

1. 简介 DWR(Direct Web Remoting) 是一个Java开源框架,
  • dyccsxg
  • dyccsxg
  • 2013年11月20日 20:20
  • 1488

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

表单提交中form.action,form.submit()问题
  • VipMao
  • VipMao
  • 2016年04月04日 22:26
  • 1912

工作中遇到的问题:关于form表单提交的问题--无action

今天在写一个JSP表单提交的时候,遇到了一个关于action为空时提交的问题,由于实际工作中的情况较复杂,但下面仅将问题的关键记录下来,以方便回忆。 首先表单如下: 可以看到,...

JS中对于form表单提交时验证form的onsubmit函数与submit类型按钮的onclick函数

onsubmit只能表单上使用,提交表单前会触发, onclick是按钮等控件使用, 用来触发点击事件。在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onclick中验证,也可以在...

JSP+Servlet学习经验1:解决form表单提交后相应页面中文乱码的问题

初学JSP与Servlet的同学估计经常会遇到类似问题,有时输入的中文响应输出为问号(???),有时输出乱码,今天查了一些资料算是理清了问题的原因。 1.问题根源 问题的根源在于form表单提交数据时...

form表单提交问题

今天做form表单提交遇到了两个问题: 1.提交后不能跳转到指定页面 jsp代码 新增 type="submit" class...

Form表单提交参数类型与后台实体参数类型的问题

在SprForm表单提交到后台之后,都是以
  • judyfun
  • judyfun
  • 2014年07月07日 11:57
  • 4962

AJAX和form表单提交的中文转码问题全面解决,encoderURL两次转码的真相

前阵子做一个新闻发布系统,大量的用到ajax,中文乱码一直是个痛啊,通过大量的网上查询以下这篇文章能够很好的解决问题: 转载:http://blog.csdn.net/zhanngle/articl...

jQuery.form.js进行表单提交,中文乱码问题及解决

原文网址:http://www.verydemo.com/demo_c89_i26079.html 源于使用jquery,form.js进行表单提交时,发现保存到数据库时失败,而页面都已经统一为GBK...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:表单提交中form.action,form.submit()问题
举报原因:
原因补充:

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