表单提交,提示错误,不支持属性
2008-07-13 23:32
148 查看
这两天做列表数据显示的时候,几乎被"对象不支持此属性和方法" 的错误提示搞疯掉了,两个完全一样的程序(事后才知道有个单词的大小写不一样),竟然一个显示正常,一个却频繁提示出错。
在一般情况下,同一个表单只能被提交给同一个地址。但在实际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篇文章,终于找到原因所在,也留言自己的博客上做个备份!
在一般情况下,同一个表单只能被提交给同一个地址。但在实际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篇文章,终于找到原因所在,也留言自己的博客上做个备份!
相关文章推荐
- VBScript提交表单提示-对象不支持此属性或方法
- JS 自动提交表单时 报“对象不支持此属性”错误
- js不能提交表单,提示对象支持此属性和方法
- 解决javascript提交form出现错误提示:对象不支持此属性或方法
- JS提交表单,报“对象不支持此属性”错误
- form表单提交提示对象不支持此属性或方法
- 微信小程序表单验证form提交错误提示效果
- Ajax.BeginForm提示不支持live属性或方法的错误
- HTML5--表单新特性使用自定义错误提示消息validity属性
- Jquery Validate校验后无错误提示但表单无法提交(无反应)
- 表单提交中form.action问题 --对象不支持此属性
- 屏蔽:粘贴到KindEditor里,IE下弹出框报”对象不支持moveToElementText属性或方法“错误的提示
- Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
- 微信小程序表单验证form提交错误提示
- 使用JS提交表单提示没有可用方法的错误
- struts javascript不能提交 提示 对象不支持此属性或方法
- jquery表单提交带错误信息提示效果
- ajaxSubmit提交表单报对象不支持该属性或方法的原因
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
- CI框架提交表单时出现 Disallowed Key Characters 错误提示