提交后清除 form/textarea(带有 jquery 的表情符号选择器)

Clear the form/textarea after submit (emoji-picker with jquery)

在我的 form/textarea 中,我使用表情符号选择器 (https://github.com/mervick/emojionearea)。 想法是一旦用户写了一些 text/put 一些表情符号并发送这个(“提交”)表单将 reset/clear.

我正在进行的代码:https://jsfiddle.net/byrvfwah/

表情符号选择器很好用,但是提交后无法清除表单。

同时,没有启动表情符号选择器的功能,提交按钮清除表单:https://jsfiddle.net/9bps7f6v/3/

重置表单的方法有很多,我已经尝试了很多:

$("#mytextarea").val('');
$('#mytextarea').trigger("reset");
$(‘#mytextarea').text('');
$("#mytextarea").reset();
$("#myform")[0].reset();

emoji-picker脚本作者的解释不是很有用:

https://github.com/mervick/emojionearea/issues/9

https://github.com/mervick/emojionearea/issues/54

https://github.com/mervick/emojionearea/issues/373

关于如何在提交时清除表单的任何想法?

您需要定位 emojionarea-editor class div 并替换为空的 '' 字符串。

  $(document).ready(function() {
    $("#mytextarea").emojioneArea({
    pickerPosition: "bottom"
});
  });

  $(document).ready(function() {
    $("#mybutton").click(function(e) {
        e.preventDefault();
        $(".emojionearea-editor").html('');

    });
});

它没有被清理因为它不是数据输入元素而是div。检查您可以看到的项目:

并且有一个class,所以你可以只清除html:

  $(document).ready(function() {
     $("#mybutton").click(function(e) {
        e.preventDefault();
       $(".emojionearea-editor").html('');
     });
  });
$("#mytextarea").data("emojioneArea").setText('');