判断表单是否提交问题

在一般情况下,同一个表单只能被提交给同一个地址。但在实际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是区分大小写的。

打赏此文

如果您觉得本站的内容对您有所帮助,您可以扫描下面的二维码小额支付请我喝杯茶,感谢!打赏记录
支付宝
微信
承诺:凡打赏捐助的朋友,留言备注自己的邮箱,在打赏捐助时间点的6个月内,本站会每周邮件推送原创专业技术博文,供大家学习和参考!

留下评论

All fields marked (*) are required