1

以下のコードを使用していますが、

このコードでは、フォーム送信時にEnterキーを押すだけで何か書かれているかどうかを確認したいのですが、空の文字列を投稿しないでください。

gtalkやfbチャットのように、値が返されるか、単に入力されるかを確認する方法を教えてください。

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.commentarea').keyup(function (event) {
  if (event.keyCode == 13 && event.shiftKey) 
  {
      var content = this.value;
      var caret = getCaret(this);
      this.value = content.substring(0, caret) + "\n" + content.substring(carent, content.length - 1);
      event.stopPropagation();
  } else if (event.keyCode == 13) {
      $('form').submit();
  }
});

function getCaret(el) {
  if (el.selectionStart) 
  {
      return el.selectionStart;
  } else if (document.selection) 
  {
      el.focus();
      var r = document.selection.createRange();
      if (r == null) 
      {
          return 0;
      }

      var re = el.createTextRange(),
      rc = re.duplicate();
      re.moveToBookmark(r.getBookmark());
      rc.setEndPoint('EndToStart', re);

      return rc.text.length;
  }
  return 0;
}
});
</script>
<?php echo $_POST['commentarea']?> 
<form method="post" action="">
    <textarea name="commentarea" class="commentarea"></textarea>
</form>
4

0 に答える 0