我有一个带有 onclick 功能的文本区域来注册评论,昨天我意识到移动用户无法评论,因为他们没有手机键盘上的“Enter”键,所以我试图创建一个按钮,以便移动用户也可以发表评论。但这是我的问题,我尝试复制默认情况下已放置在文本区域上的 onkeyup 代码,并将 onkeyup 更改为 onclick。问题是我尝试创建的新按钮不起作用
以下是使用 Enter 按钮发表评论的默认代码:
<textarea class="auto-grow-input" name="text" placeholder="<?php echo $lang['comment_textarea_label']; ?>" data-placeholder="<?php echo $lang['comment_textarea_label']; ?>" data-height="24" onkeyup="SK_registerComment(this.value,<?php echo $sk['input']['post']['id']; ?>,<?php echo $sk['input']['timeline']['id']; ?>,event);">
<?php echo $lang['comment_textarea_label']; ?>
</textarea>
这是我尝试创建的按钮:
<button class="commentButton" onClick="SK_registerComment(this.value,<?php echo $sk['input']['post']['id']; ?>,<?php echo $sk['input']['timeline']['id']; ?>,event);">
<?php echo $lang['comment_button']; ?>
</button>
====更新====
这是SK_registerComment
函数
// Post comment
function SK_registerComment(text, post_id, timeline_id, event) {
if (event.keyCode == 13 && event.shiftKey == 0) {
main_wrapper = $('.story_' + post_id);
comment_textarea = main_wrapper.find('.comment-textarea');
textarea_wrapper = comment_textarea.find('textarea');
textarea_wrapper.val('');
SK_progressIconLoader(comment_textarea);
$.post(SK_source() + '?t=post&a=comment&post_id=' + post_id, {text: text, timeline_id: timeline_id}, function (data) {
if (data.status == 200) {
main_wrapper.find('.comment-wrapper:last').before(data.html);
main_wrapper.find('.story-comment-activity').html(data.activity_html);
}
SK_progressIconLoader(comment_textarea);
});
}
}
最佳答案
this.value
将是按钮的值,而不是文本区域的值。尝试改用 document.getElementsByName("text")[0].innerHTML
。
关于javascript - 基于 onkeyup 文本区域创建 onclick 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29165314/