如何用空格替换textarea中的换行符

时间:2015-06-22 13:12:55

标签: javascript html

我有一个HTML表单,其中我使用JavaScript函数用空格替换新行字符(\ n)。我正在使用onClick方法来调用该函数。

HTML表单看起来像这样 -

<form action="#" method="post">
Type text here<br />
<textarea name="text" onClick="autofix();" id="textarea"></textarea><br />
<input type="submit" value="Save">
</form>

JavaScript代码看起来像这样 -

<script>
function autofix()
{
var text=document.getElementById('textarea');
var revnl=text.replace(/(\r\n|\n|\r)/gm," ");
text=revnl;
}

但它不起作用!请帮忙

1 个答案:

答案 0 :(得分:2)

附加到onkeyup事件(或onkeydown)。

然后,用以下代码替换脚本:

var textarea = document.getElementById('textarea');
var revnl = textarea.value.replace(/\s/gm," ");
textarea.value = revnl;

这将用公共空格替换所有空格(甚至是新行和制表符)。

编辑:适用于多个textareas

您可以使用闭包:

function attachAutofix(id)
{
    document.getElementById(id).onkeydown = function (ev) { // or onkeyup
        ev = ev || event;
        target = ev.target || ev.srcElement;
        target.value = target.value.replace(/\s/gm," ");
    };
}

最后,附上事件:

window.onload = function () {
    attachAutofix("firstTextarea");
    attachAutofix("secondTextarea");
    attachAutofix("thirdTextarea");
};