一种禁止返回键提交表单的方法
自动提交有两种可能的情况:首先,编写Javascript代码。当用户点按回车键时,表单的提交由js事件侦听机制触发。
二是利用浏览器的默认行为(至少IE被发现)。当浏览器解析Web页面时,有许多默认行为。例如,如果一个页面有一个表单和一个提交按钮,那么当页面打开时,焦点就会自动落在提交按钮上。同样,如果表单中只有一个文本输入字段(文本),那么在输入字段中按下Enter键时,浏览器将自动提交表单。
我们一般都知道并理解第一种情况,但是对于第二种浏览器的默认行为,可能会有更少的人知道这一点。接下来,我将在表单提交中查看浏览器(至少IE)的默认行为。
如果表单包含单行文本输入字段,不管包含了多少其他形式的组件,当输入字段中的输入时,表单将自动提交。
例如,下面的代码:
sdfsdf
如果表单包含两个或多个单行文本输入字段,无论是否有其他类型的表单组件,当输入键按下时,它都不会自动提交,例如:
<表单操作方法
<输入类型文本
名称=sdfsdf /
<输入类型文本
名称=SDDF / /形式<
方法很简单。我们已经在上面提到的例子中添加了一个文本输入框。也许你会说,为了不自动提交,你需要添加一个无用的输入框,并包含两个输入框,最终用户会接受吗事实上,您可以通过样式隐藏新添加的输入框,例如:
<表单操作方法
<输入类型文本name=notautosubmit
样式
<输入类型文本
name =用户名
还有一种方法绑定按钮按钮,进入触发事件:
document.onkeypress =函数(){
如果(的情况下= = 13)({搜索);returnfalse;} }搜索方法onclick <表格名称= searchfrom事件
最终解决方案:
功能definesubmit(BTN)
{
如果(submit1 =按钮。值)
{
文件。testform。行动=firstaction ;
}
其他的
{
文件。testform。行动=secondaction ;
}
Document.testForm.submit();
}
用户名:
密码: