以下のコードを使用していますが、
このコードでは、フォーム送信時に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>