PHP,ajax,javascript,mysql:无法识别的表格中的新行/回车符

时间:2018-03-13 22:08:17

标签: javascript php ajax

我目前正在处理http://www.webslesson.info/2017/07/live-add-edit-delete-datatables-records-using-php-ajax.html上的以下示例(此页面上已列出整个代码) - 除了NewLine / Carriage返回之外,一切都适用于我。

每当我按下'输入'在First NameLast Name字段中输入密钥,为了添加新行,它基本上无法识别它。

在源页面文件中,我在:function fetch data()之后添加了下面列出的代码 - 请参阅链接:http://jsbin.com/yufovobinu/edit?html,output 但似乎它没有帮助,回车/新行仍未在姓氏字段中识别。我使用“姓氏”字段作为一般示例,但它会发生在我输入该字段的任何文本中。 此外,我还提供了一个视频,可视化我在“姓氏”中输入文字时会发生什么。字段然后点击'输入'键和为了将数据插入mysql数据库(它发送没有新行的数据并返回没有新行):http://www.filedropper.com/issue

请帮忙!提前致谢!

$(document).ready(function() {

$('#user_data').keyup(function() {

$('#data2').html($(this).val().replace(/\r?\n/g, '<br />'));

1 个答案:

答案 0 :(得分:0)

好的,现在我明白你要做的是什么。您根本不需要keyup事件,也可以按原样发送数据,并将其存储在数据库中,文本中的新行字符不变。

为了在打印表时正确显示存储的值,您必须从PHP输出:

echo nl2br(htmlentities($row['columnName']));

htmlentities阻止执行其他HTML标记(XSS漏洞),然后使用PHP的本机优化函数以智能方式替换具有\r, \r\n, \n标记的所有类型的新行(<br>){ {1}}。