在<textarea>中按ENTER键以换行

时间:2018-10-14 11:51:31

标签: javascript google-chrome textarea enter

我认为自己是Web开发的初学者,并且 我在textarea中输入换行符时遇到一些问题。

我的代码如下(纯javascript)

  function upldNot(){
    xhttp =新的XMLHttpRequest();
    var d = document.getElementById(“ textarea-input”)。value;

    d = d.replace(/(\ n | \ r \ n)/ g,“ 
$ 1”); //添加此行以换行     xhttp.onreadystatechange = function(){         if(this.readyState == 4 && this.status == 200){             document.getElementById(“ output”)。innerHTML = this.responseText;         }     };     xhttp.open(“ GET”,“ upload_not.php?d =” + d,true);     xhttp.send(); }

我的目的是将输入数据从textarea发送到php.file,并将其上传到数据库,然后显示表中的所有行。 (效果很好)

此外,当输入数据包含“输入”时,必须将其读取为换行符。我的代码可以在IE中完美运行,但不能在Chrome中运行。 Chrome返回以下消息:

[不建议使用] URL包含删除的空格( \ n \ r \ t )字符且小于字符( << / code>)被阻止。请删除换行符,并从元素属性值之类的地方编码少于字符,以加载这些资源。有关更多详细信息,请参见 https://www.chromestatus.com/feature/5735596811091091968 。。 >

我什至不确定这到底是什么意思。 您能帮我个窍门,还是大多数浏览器支持的其他解决方案?

非常感谢,非常抱歉这个愚蠢的问题。

1 个答案:

答案 0 :(得分:0)

您要添加到url中的内容包含html元素<br/>,并且根据chrome错误,不允许在浏览器发送的url请求中包含此类内容。

您可以在将它添加到url之前先尝试encodeURI(d)。

xhttp.open("GET","upload_not.php?d="+encodeURI(d), true);