擦除/清除文本区域后,我无法再向其中添加文本

时间:2014-05-16 17:02:49

标签: javascript jquery html

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

第一次使用它很有效,我的条件都正常工作,我可以运行一系列关键字,在每个.submit()上填充textarea。擦除内容时出现问题。以下是如何填充的示例:

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()函数中的某个位置执行,因为如果我取消选中所有框,我的alert(未显示)会被抛出。

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

我在这里创造了一个小提琴:Keyword Variations Fiddle - 我能够重新创造这个问题并且不知道它为什么会发生。在您生成一些关键字后尝试删除文字,然后尝试生成更多关键字。

1 个答案:

答案 0 :(得分:5)

有趣的问题。我担心你在textarea上使用append,因为我记得听说textareas更像文本输入而不是div,所以我尝试使用val代替它,并且它运行良好。

http://jsfiddle.net/gYFP3/4/

以下是相关代码。

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