首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript: Enter for submit

Javascript: Enter for submit
EN

Stack Overflow用户
提问于 2009-10-27 02:33:05
回答 6查看 2.5K关注 0票数 1

你好,这是我的文件头中的内容:

代码语言:javascript
复制
function entsub(event)
        {
              if (event && event.which == 13) 
                write1();
              else
            return true;

        }

在身体里,我的形式是:

代码语言:javascript
复制
<form id="writeform" name="writeform">
  Message: <br />
  <textarea name="message" rows="3" id="message" style="width:90%;" onkeypress="return entsub(event)"></textarea>

  <br />
  <input name="send" type="button" id="send" value="Send" onclick="write1()" />
  <span id="sent"></span>
  &nbsp;&nbsp;&nbsp; <input type="reset" value="Reset" />
  </form>

我需要让它工作,当我在文本区中按enter时,它不会生成新行,但会发送它查看我的<input type="button">

但它不会起作用!它一直在做一条新的线..。现在使用IE8。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-10-27 02:38:58

使用keyCode而不是其中。

根据浏览器的不同,您需要阻止默认操作。查看IE的event.cancelBubble和event.returnValue,火狐的event.stopPropagation()和event.preventDefault()。

票数 1
EN

Stack Overflow用户

发布于 2009-10-27 02:37:45

我不确定write1()做了什么,但在满足条件时返回false将是明智的。

代码语言:javascript
复制
function entsub(event)
{
    if (event && event.keyCode == 13) {
        write1();
        return false; //Return false to prevent default execution
                      //Some browsers use event.preventDefault() etc.
    }else{
        return true;
    }
}
票数 2
EN

Stack Overflow用户

发布于 2009-10-27 02:44:24

通常跨浏览器测试如下所示:

代码语言:javascript
复制
function entsub(e) {
    if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
        write1();
    } 
    return true;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1626525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档