php—从mysql读取数据并将变量传递给jquery函数,在textarea中写入,不起作用

gmxoilav  于 2021-06-18  发布在  Mysql
关注(0)|答案(5)|浏览(411)

我是jquery的初学者。我为我的英语感到抱歉。我从mysql读取数据:

  1. $id=($row["ID"]);
  2. $name=($row["Name"]);
  3. $note=($row["Note"]); *// note set to textarea*

发送功能:

  1. onclick= modP($id,$name,$note);
  2. <script>
  3. function modP(id,name,note){
  4. $("#NoteP").val(note);
  5. }
  6. </script>

-----问题-------
notep是textarea。
如果$note有一行,则函数将起作用。一切正常。
如果$note有许多行,则不调用modp函数。
我试过:

  1. $note = str_replace("\n","<br />", $row["Note"]);

不行!
请帮帮我。谢谢您。

cunj1qz1

cunj1qz11#

我找到了这个建议链接
jquery函数不接受多行上的变量。

  1. $note=str_replace("\n","<br />",$row["Note"]);

现在函数被正确调用了($注)是一行。我如何写文本区恢复原始文本,有许多行?

hjqgdpho

hjqgdpho2#

尝试在php部分将字符串编码为json,然后在js部分解码。
PHP:

  1. $note= json_encode($row["Note"]);

js公司:

  1. $("#NoteP").val( JSON.parse(note) );
k4aesqcs

k4aesqcs3#

我用htmlspecialchars和json编码解决了这个问题:

  1. $note = htmlspecialchars(json_encode($row["Note"], JSON_HEX_QUOT | JSON_HEX_TAG));

…无报价$note

  1. onclick="return modPaziente($note);"

....

  1. <script type="text/javascript">
  2. function modPaziente(note){
  3. alert(note);
  4. }

谢谢大家的建议

kgqe7b3p

kgqe7b3p4#

使用$note上的nl2br来分解多行,如下所示。

  1. $id=$row["ID"];
  2. $name=$row["Name"];
  3. $note=$row["Note"];
  4. $note=nl2br($note);

您可以对html元素调用onclick函数,如下所示。

  1. <button onClick="modP('<?php echo $id ?>','<?php echo $name ?>','<?php echo $note ?>');">Click</button>

modp函数如下所示。

  1. <script type="text/javascript">
  2. function modP(id,name,note) {
  3. $("#NoteP").val(note);;
  4. }
  5. </script>

我希望这有帮助。

展开查看全部
zkure5ic

zkure5ic5#

  1. $note = json_encode($row["Note"], JSON_HEX_QUOT | JSON_HEX_TAG);
  2. // note set to textarea - multiline

将$data传递给函数modpaziente:

  1. echo("<td><input name=\"imgmodifica\" id=\"imgmodifica\" type=\"image\" src=\"image/modifica2.png\" width=\"24\" height=\"24\" title=\"Elimina ".$row["ID_P"]."\" onclick=\"return modPaziente('$id','$nom','$ind','$comID','$citta','$prov','$tel','$cf','$ese','$cons','$nato','$sesso','".$note."','$eta')\"> </input></td>");

js-/警报(注意)不工作/

  1. <script type="text/javascript">
  2. function modPaziente(id,nom,ind,comID,citta,prov,tel,cf,ese,cons,nato,sesso,note,eta){
  3. alert(note);
  4. }
  5. </script>

莫德帕齐恩特为什么不读笔记?

相关问题