0

我正在使用 OpenMRS,它是一个开源医疗记录系统。OpenMRS 有一个内置的 html 编辑器,我主要在构建表单时使用它。在我的一种形式中,我有一个文本区域。我的客户希望他的条目(在段落或列表中)在文本区域中缩进。

现在,当您尝试在 textarea 中缩进段落然后保存更改并预览表单时,段落变得对齐而不是保留缩进的行。

 但是,如果我尝试使用 ascii 代码通过键入或按非换行空间来alt-288缩进段落,则段落会缩进,从而给我想要的结果。现在,用户不喜欢键入或按 ascii 等效项,因为这对他们来说会很麻烦。

我主要使用 javascript 和 jQuery,因为它是 openmrs 支持的。如果我可以在按键时以某种方式绑定不间断空格字符,那么这将起作用,但我在这里迷路了。我将如何在 javascript 或 jquery 中执行此操作?

4

1 回答 1

0

一种可能对您有用的解决方案是在您处理/保存时替换文本区域中的前导空格,甚至每次更改它时都替换如下:

ta.value = ta.value.replace (/\n +/, function (m) {
    return '\n' + Array (m.length).join ('&#160');
});

Array ...构造创建一个包含长度元素的数组,然后与您的非换行符字符连接,从而有效地创建一个由许多空格字符组成的字符串。

另一种可能性是观察进入文本区域的空格字符并对其进行转换。请参见此处:我可以有条件地更改在按键输入时输入的字符吗?

于 2012-10-23T12:40:20.083 回答