0

テキスト領域で新しい空の行を検出したいのですが、ユーザーがテキスト領域でEnterキーを押した場合、データを入力せずにfalseを返し、メッセージをエコーし​​ます。私はいくつかの研究を行い、次のようなことを考えました:

var validatef ....
var code = (e.keyCode ? e.keyCode : e.which);
if (validatef == 'a value here' || code == 13) { 
  somevarhere.textcontent = 'Message';
  return false;
}
else {....}

しかし、うまくいかないようです。

4

5 に答える 5

1

ユーザーがEnterキーを2回押したかどうかをテストするだけです

/\n\n/.test(this.value)
于 2013-10-25T20:56:38.757 に答える
1

これを試して

 $('textarea').on('keypress', function(e) {
    var val = $('textarea').val();
    if (e.which == 13) {
if(! /\S/.test(val)) {
   alert("no data");
}
    }
});

これは、キーを押すたびにデータを警告しません。

これはjQueryですが、普通のJavascriptでも同様です

ここにデモhttp://jsfiddle.net/TUCx8/があります

于 2013-10-25T21:02:28.860 に答える
1

質問の最初の文によると、これは可能な解決策の 1 つかもしれません。

var enters = 0;
$('textarea').keypress(function(event) {
    if (event.which == 13)
        enters++;
    else
        enters = 0;
    if (enters > 1) {
        alert('You hit 2 new lines!');
    }
});

実際の例http://jsfiddle.net/fp6xk/

于 2013-10-25T21:04:03.203 に答える