Jquery,在textarea

时间:2016-10-14 14:33:01

标签: javascript jquery html

我一直在努力扩展工作,唯一能逃避我的是基于我合并的三个输入格式化textarea并尝试在最后一个输入上为每个输入创建一个新行。它适用于前两行然后新行开始累加到提交之间的两行然后4等。

$("#misc").keyup(function(event) {
    if (event.keyCode == 13) {
        event.preventDefault();
        var newText = $('#medication').val() + " " + $('#diagnosis').val() + " " + $('#misc').val();

        $("#form").val($("#form").val() + newText + "\r\n");

        nextBox = textboxes[0];
        nextBox.focus();
        nextBox.select();
        console.log("first");
        $('#medication').val("");
        $('#diagnosis').val("");
        $('#misc').val("");

        return false;
    }
});

非常感谢任何帮助 https://jsfiddle.net/rcu8dmon/这有点像它看起来像但由于某种原因它不能在jsfiddle中工作。

编辑为html / css / javascript添加jsfiddle

2 个答案:

答案 0 :(得分:1)

每次发生#misc的{​​{1}}事件时,您都会绑定keyup的{​​{1}}事件,因此.medication发生n次发生了keyup事件。将#misc的{​​{1}}事件移到包装事件之外,它将被修复。

答案 1 :(得分:0)

此外,您在关键字事件中的药物类别也会在最后一次输入中触发。您尝试修复此问题,验证最后一个输入,但您将类型“undefined”与null进行比较。一个选项,只需删除“!== null”: http://www.w3schools.com/js/js_comparisons.asp

if (textboxes[currentBoxNumber + 1])