wjackie
小狐狸
小狐狸
  • UID15746
  • 注册日期2006-11-16
  • 最后登录2006-11-20
  • 发帖数3
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3028回复:5

不能控制表单,按回车后总是会提交,不知为何!请大家帮忙。

楼主#
更多 发布于:2006-11-16 17:30
自己做的一个页面,给其中一个form的按钮加响应回车键输入的消息函数。如果控件的值为空就返回,加了以后在IE,火狐,Opera下面都是进行完判断后直接提交!后来把函数去掉了,还是如此。
响应输入的input代码:
<input type="button" onkeydown="if(event.keyCode==13)check();"/>

如果这样写,对IE有效,对火狐和Opera无效。
<input type="button" onkeydown="javascript:if(document.search.value=="")return false;"/>
其他的页面也有这样的提交判断,但是对三个浏览器都能控制。

不明白是为什么。请大家帮忙看看,多谢。
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
1楼#
发布于:2006-11-16 17:30
type改成submit试试
wjackie
小狐狸
小狐狸
  • UID15746
  • 注册日期2006-11-16
  • 最后登录2006-11-20
  • 发帖数3
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2006-11-16 17:30
不好意思。代码写错了。
是一个输入控件。
type是text,目的是想在输入获得焦点的时候,按下回车后进行输入校验!
IE下加了校验能响应回车输入,火狐响应不了。
而且不管是否响应,整个页面最后都提交。
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
3楼#
发布于:2006-11-16 17:30
sorry, 说实话,根本不懂js

你可以来验证看看,看提示你是什么错误
http://validator.w3.org/
wjackie
小狐狸
小狐狸
  • UID15746
  • 注册日期2006-11-16
  • 最后登录2006-11-20
  • 发帖数3
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2006-11-16 17:30
没关系!多谢CrossBud的回复。
页面测试没有语法错误!
搞不明的是:在控件获取输入焦点后按下回车,不管如何都会提交。点击旁边的按钮就不会,但按下回车响应的也是按钮的函数!
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
5楼#
发布于:2006-11-16 17:30
呵呵,我不太懂这些,只是看到Google的搜索栏的代码,猜想应该是类似的
帮你顶一下,这个问题应该属于w3c技术的
游客

返回顶部