【发布时间】:2012-11-15 16:24:51
【问题描述】:
背景: 我正在制作一个类似 facebook 墙的页面,该页面将包含许多帖子,您应该能够评论每个帖子。所以在这一页中有很多形式(当然)。我只需要提交其中一个。
所以是的,我已经找到了这个问题的答案,但它们都不起作用,所以在这里提问:
我得到了这样的表格:
<form enctype="text/plain" action="submitcomment.php" method="post" target="output_frame" id="comment<?php echo $prepare_data['post_id']; ?>">
<textarea name="comment" id="comment" onkeypress="return submitViaEnter(event)" value="" autocomplete="off"></textarea>
<input type="hidden" name="hiddenid" id="hiddenid" value="<?php echo $prepare_data['post_id']; ?>" />
</form>
我的 JavaScript 函数如下所示:
function submitViaEnter(evt) {
evt = (evt) ? evt : event;
var target = (evt.target) ? evt.target : evt.srcElement;
var form = target.form;
var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
if (charCode == 13) {
document.forms[this.form.id].submit();
alert("sent!");
return false;
}
return true;
}
如果我使用文本框,它可以工作,但是当我使用 textarea 时,它就不能工作。尝试按 enter 没有任何作用。
【问题讨论】:
-
在fiddle 中工作正常。你不应该使用
charCode属性,请参阅this question。 -
也许“document.forms[this.form.id].submit();”有问题-部分?因为它至少对我不起作用:/
-
你可以用
target.form.submit()替换所有这些,顺便说一句 -
您应该接受其中一个答案。如果他们都没有帮助,请发布您自己的答案以及您所做的修复并接受您自己的答案。
-
您的评论修复了它,我该如何应用它作为答案? :P 我也不能在 8 小时内发布我自己的答案,因为我没有足够的声誉!
标签: php javascript forms submit enter