在 <textarea> 中按 ENTER 换行

Pressing ENTER in <textarea> to break a line

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

我的代码如下所示(纯 javascript)

function upldNot(){ 
    xhttp = new XMLHttpRequest();
    var d = document.getElementById("textarea-input").value;

    d = d.replace(/(\n|\r\n)/g, "<br>");   // added this line to break lines

    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,然后将其上传到数据库,然后显示 table 中的所有行。 (这很有效)

此外,当输入数据包含"enter"时,必须将其读取为换行符。我的代码在 IE 中完美运行,但在 Chrome 中却不行。 Chrome returns 留言如下:

[弃用] 其 URL 包含已删除的空格(\n\r\t)字符和小于字符(<)的资源请求将被阻止.请从元素属性值等位置删除换行符并编码小于字符,以便加载这些资源。有关详细信息,请参阅 https://www.chromestatus.com/feature/5735596811091968

我什至不确定它的确切含义。 能否请您提供提示或大多数浏览器支持的其他解决方案?

非常感谢,对于这个愚蠢的问题真的很抱歉。

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

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

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