Javascript 删除/清除文本区域后,我无法再向其追加文本

Javascript 删除/清除文本区域后,我无法再向其追加文本,javascript,jquery,html,Javascript,Jquery,Html,我正在构建一个工具来帮助我为AdWords组装不同的关键字组合。我有一个简单的表单,有三个复选框,一个输入框(用于起始关键字),一个提交按钮和一个用于结果的文本区域(输入的变体) 第一次使用时效果很好,我的条件都很好,我可以运行一系列关键字,在每个.submit()上填充文本区域。当我删除内容时,问题就出现了。以下是如何填充的示例: if($("#phrase").is(":checked")) { //Get keywords from input var text = $("

我正在构建一个工具来帮助我为AdWords组装不同的关键字组合。我有一个简单的表单,有三个复选框,一个输入框(用于起始关键字),一个提交按钮和一个用于结果的文本区域(输入的变体)

第一次使用时效果很好,我的条件都很好,我可以运行一系列关键字,在每个
.submit()
上填充文本区域。当我删除内容时,问题就出现了。以下是如何填充的示例:

if($("#phrase").is(":checked")) {
    //Get keywords from input
    var text = $("#keyword").val();

    //Prepend and append double-quotes
    text = "\"" + text + "\"";

    //Output
    var val = $("#output").val();
    $("#output").append(text + "\r\n");
} 
当我提交时,我知道它仍在我的
.submit()
函数的某个地方执行,因为如果我取消选中所有框,我的
警报(未显示)将被抛出

我认为这是我的重置逻辑中缺少的东西,所以我完全删除了重置,并将其发布到我的个人网站,以便我可以开始工作。我跑掉了一些关键字,然后手动删除了文本框的内容。奇怪的是,同样的事情还在发生:删除/清除文本框后,我无法让它接受关键字并创建更多的变体


我在这里创造了一把小提琴:——我能够重现这个问题,但不知道它为什么会发生。在生成一些关键字后,尝试删除文本,然后尝试生成更多的关键字。

有趣的问题。我担心您在textarea上使用
append
,因为我记得听说textarea更像文本输入而不是div,所以我尝试使用
val
,效果很好

这是相关的代码

//Output
var $output = $("#output");
var val = $output.val();
$output.val(val + text + "\n");

有趣的问题。我担心您在textarea上使用
append
,因为我记得听说textarea更像文本输入而不是div,所以我尝试使用
val
,效果很好

这是相关的代码

//Output
var $output = $("#output");
var val = $output.val();
$output.val(val + text + "\n");


您应该使用
.val()
来修改
文本区域的值,而不是
.append()
。请在问题中发布更新文本区域的代码,因为这就是问题所在,重置代码中没有。@Barmar-整个代码块都在小提琴中,因为它太麻烦了,无法发布。我已经用Kyle的答案更新了小提琴,但清除后仍然无法填充文本区域。请在此处发布您的代码,而不仅仅是在小提琴上。您应该使用
.val()
来修改
文本区域的值,而不是
.append()
。请在问题中发布更新文本区域的代码,因为这就是问题所在,重置代码中没有。@Barmar-整个代码块都在小提琴中,因为它太麻烦了,无法发布。我已经用Kyle的答案更新了小提琴,但清除后仍然无法填充文本区域。请在此处发布您的代码,而不仅仅是在小提琴上。Kyle是对的,您可以参考此答案了解更多详细信息:。Append更适合于HTML元素和节点。Val应用于表单项。Hmm。我刚刚编辑了小提琴,但在我通过选择所有内容并删除手动清除它之后,仍然无法获取要写入
textarea
的关键字。对不起,那确实管用。我没有更新我的一部分代码。@Kyle你的小提琴里的代码在哪里?你发布了正确的链接吗?凯尔的解决方案是正确的;我没有更新我的代码的一部分,所以仍然在那里有附录
.val()
正在工作。Kyle是对的,您可以参考此答案了解更多详细信息:。Append更适合于HTML元素和节点。Val应用于表单项。Hmm。我刚刚编辑了小提琴,但在我通过选择所有内容并删除手动清除它之后,仍然无法获取要写入
textarea
的关键字。对不起,那确实管用。我没有更新我的一部分代码。@Kyle你的小提琴里的代码在哪里?你发布了正确的链接吗?凯尔的解决方案是正确的;我没有更新我的代码的一部分,所以仍然在那里有附录
.val()
正在工作。