Javascript:输入以提交

Javascript:输入以提交,javascript,events,forms,submit,Javascript,Events,Forms,Submit,您好,这是我文件头中的内容: function entsub(event) { if (event && event.which == 13) write1(); else return true; } 在身体里,我的身体是: <form id="writeform" name="writeform"> Messag

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

function entsub(event)
        {
              if (event && event.which == 13) 
                write1();
              else
            return true;

        }
在身体里,我的身体是:

<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键时,它不会生成新行,而是发送它[参见我的]

但这行不通!它一直在制造一条新的生产线。。。现在使用IE8。

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

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;
    }
}
我不确定write1做什么,但是当条件满足时,返回false是明智的

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;
    }
}

使用keyCode而不是which


根据浏览器的不同,您需要阻止默认操作。检查IE的event.cancelBubble和event.returnValue以及Firefox的event.stopPropagation和event.preventDefault。

使用键码而不是键码


根据浏览器的不同,您需要阻止默认操作。检查IE的event.cancelBubble和event.returnValue以及Firefox的event.stopPropagation和event.preventDefault。

通常跨浏览器测试如下:

function entsub(e) {
    if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
        write1();
    } 
    return true;
}

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

function entsub(e) {
    if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
        write1();
    } 
    return true;
}

如果要使用jquery,可以执行以下操作:

        $(document).ready(function() {

            $("#txtTest").keypress(function(e) {
                var code = (e.keyCode ? e.keyCode : e.which);

                if (code == 13) {
                    doSomething();
                    return false;
                }
            });

        });

        function doSomething() {
            alert("I did it!");
        }

其中txtTest是文本区域的id。

如果要使用jquery,可以执行以下操作:

        $(document).ready(function() {

            $("#txtTest").keypress(function(e) {
                var code = (e.keyCode ? e.keyCode : e.which);

                if (code == 13) {
                    doSomething();
                    return false;
                }
            });

        });

        function doSomething() {
            alert("I did it!");
        }

其中txtTest是文本区域的id。

对于与js无关的方式,我很确定您可以使用type=submit的输入,它将使用enter来提交表单。此时,您只需将事件移动到onsubmit。

对于与js无关的方式,我很确定您可以使用type=submit的输入,它将使用enter来提交表单。此时,您只需将事件移动到onsubmit。

更简洁的方法是将onclick=。。。到onsubmit=。。。在表格上。这将不需要那么多容易出错的JavaScript,并且可以在更多情况下工作。

一个更干净的方法是将onclick=。。。到onsubmit=。。。在表格上。这将不需要那么多容易出错的JavaScript,并且可以在更多情况下工作。

问题是,如果我这样做,它将不会发送它。不知道为什么,从某个人那里得到了这个代码。问题是如果我这样做,它不会发送。不知道为什么,从某个家伙那里得到了这个密码。这是我接受的答案,我仍然不需要其他东西,只需要键盘密码。这是我接受的答案,我仍然不需要其他东西,只需要键盘密码。