使用js自动编辑表单textarea

时间:2017-07-17 14:41:44

标签: javascript jquery html

我正在尝试在用户上传文本文件后使用js编辑表单textarea。 HTML有

<textarea name="program" class="code-editor form-control single" data-x-language="C" data-x-lines="8" data-optional="False" style="display: none;"></textarea>

我发布的框架在发布表单之前有一个js验证器,以确保输入不为空

form.find('textarea,input[type="text"]').each(function()
{
    if($(this).attr('name') != undefined) //skip codemirror's internal textareas
    {
        if($(this).val() == "" && $(this).attr('data-optional') != "True")
            answered_to_all = false;
    }
});

我不是100%如何生成表单但是我很漂亮它正在使用https://codemirror.net/

我自动编辑textarea的代码是

$('textarea.code-editor').val('bla bla')

3件事:

  1. 它不起作用。
  2. 使用键盘手动输入时,更新的DOM元素在span内是pre。我已经设法使用js自动在DOM上写入,以找到pre元素和$(fileDisplayArea).text('bla bla')。但它也没有影响文本区域val,因此验证失败。
  3. 如果我在chrome中断点并手动编辑验证中的$(this).val()。然后它工作。
  4. 帮忙。

1 个答案:

答案 0 :(得分:0)

谢谢,@丹莫朗 我的错误是将DOM元素称为普通元素,而不是找到相关的CodeMirror对象并像这样使用它

relevantCodeMirrorObject.getDoc().setValue(output)

如何查找relevantCodeMirrorObject?这取决于您的代码。