我发生了一些奇怪的事情。
我的脚本用于编辑信息。 当我从我的textarea发送$ _POST到我的php页面。它正确地清理和插入,但是如果再次调用,我也想重新输出数据。所以我基本上使用jquery $ post来发送和检索信息。
这一切都很有效,除非我用编辑按钮和“onmousedown”函数调用信息时,它没有给我正确的参数格式。
如果我只在一行上写它就完美了,但是如果我使用多行它将不会保留换行符并且它会关闭结束“'”,因此该功能无法重置。有任何想法吗?这是我的回调回声。提前谢谢......
问题出在“$ againList”参数...
$againList = $_POST['updated_songList']; // I am sending back the exact same data that was given without filter...
echo '<span><h4 style="margin-bottom:0px; font-size:14px;">'.$full_birthday.'
<a href="#" onclick="deleteSongList('.$songid.');" style="color:gray; float:right; font-weight:100; font-size:12px;">delete</a>
<a href="#" onclick="return false" onmousedown="editSongList(\''.$songid.'\', \''.$againList.'\');" style="margin-right:5px; color:gray; float:right; font-weight:100; font-size:12px;">edit</a></h4>'.$song_list.'<br /></span>';
如果您还有其他需要,请告诉我。谢谢!
答案 0 :(得分:1)
嗯,php有一个nl2br()函数可以将新行转换为符号,但我不确定你的目标是什么。在他们访问php脚本之前或之后,换行符是否消失?
以下是如何使用nl2br();
$var = nl2br($_POST['myValue']);
答案 1 :(得分:1)
好的,所以我想出来并让它运行起来。感谢所有人的帮助!
问题似乎是你必须至少将“stripslashes”函数添加到$ _POST才能将它放入javascript参数中,否则,我似乎在每个'\ n'它停止函数调用并给出错误“有一个未终止的字符串文字”意味着你的最后一个参数在它的末尾没有“'”。我不知道为什么。如果有人有任何见解,我会很感激学习经历。
谢谢大家!
答案 2 :(得分:0)
试试这个:
$againList = nl2br($_POST['updated_songList']);
基本上,所有textarea换行符都是“\ n”,HTML没有显示。 nl2br()只是在显示它们时将它们转换为<br/>
。新线保持不变。
对于从末尾删除“'”的脚本,除非您显示该脚本,否则无法获得帮助。