Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从mysql读取数据并将变量传递给jquery函数,在文本区域中写入,不工作_Php_Jquery_Mysql_Textarea_Rows - Fatal编程技术网

Php 从mysql读取数据并将变量传递给jquery函数,在文本区域中写入,不工作

Php 从mysql读取数据并将变量传递给jquery函数,在文本区域中写入,不工作,php,jquery,mysql,textarea,rows,Php,Jquery,Mysql,Textarea,Rows,我是jquery的初学者。我为我的英语感到抱歉。 我从mysql读取数据: $id=($row["ID"]); $name=($row["Name"]); $note=($row["Note"]); *// note set to textarea* 发送功能: onclick= modP($id,$name,$note); <script> function modP(id,name,note){ $("#NoteP").val(note); } </scrip

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

$id=($row["ID"]);  
$name=($row["Name"]);
$note=($row["Note"]);  *// note set to textarea*
发送功能:

onclick= modP($id,$name,$note);

<script>
 function modP(id,name,note){
 $("#NoteP").val(note);
}
</script>
onclick=modP($id,$name,$note);
函数modP(id、名称、注释){
$(“#注”).val(注);
}
-----问题-------

NoteP是文本区域

如果$note有一行,则函数将工作。好的

如果$note有许多行,则不调用函数modP

我试过:

$note = str_replace("\n","<br />", $row["Note"]);  
$note=str_replace(“\n”,“
,$row[“note”]);
不行


请帮帮我。谢谢。

在PHP部分尝试将字符串编码为JSON,然后在JS部分解码

PHP:

JS:


使用$note上的nl2br来断开多行,如下所示

$id=$row["ID"];  
$name=$row["Name"];
$note=$row["Note"]; 
$note=nl2br($note);
<button onClick="modP('<?php echo $id ?>','<?php echo $name ?>','<?php echo $note ?>');">Click</button> 
您可以对html元素调用onclick函数,如下所示

$id=$row["ID"];  
$name=$row["Name"];
$note=$row["Note"]; 
$note=nl2br($note);
<button onClick="modP('<?php echo $id ?>','<?php echo $name ?>','<?php echo $note ?>');">Click</button> 
我找到了这个建议

Jquery函数不接受多行上的变量

$note=str_replace("\n","<br />",$row["Note"]);
$note=str_replace(“\n”,“
,$row[“note”]);
现在该函数被正确调用。 ($note)是一行。 我如何写文本区恢复原始文本,有很多行

$note = json_encode($row["Note"], JSON_HEX_QUOT | JSON_HEX_TAG);   
// note set to textarea - multiline
将$data传递给函数modPaziente:

 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>"); 
echo(“”);
JS-/*警报(注意)不起作用*/

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

功能模块(id、nom、ind、comID、citta、prov、tel、cf、ese、cons、nato、sesso、note、eta){
警惕(注);
} 

为什么modPaziente不阅读注释?

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

  $note = htmlspecialchars(json_encode($row["Note"], JSON_HEX_QUOT | JSON_HEX_TAG));  
…无报价$note

onclick="return modPaziente($note);"


功能模块(注){
警惕(注);
}
谢谢大家的建议

正如他所说,我已经尝试过了,函数modP没有被调用。将整个标记添加到
onclick=modP($id,$name,$note)的位置属性$note=($row[“note”]);回声(“”);函数modPaziente(id、nom、ind、comID、citta、prov、tel、cf、ese、cons、nato、sesso、note、eta){visPaziente(id、nom、ind、comID、citta、prov、tel、cf、ese、cons、cons、nato、sesso、note、eta)}函数visPaziente(id、nom、ind、comID、citta、prov、tel、cf、ese、cons、nato、note、eta){(“#NoteP”).val(note)}我试了很多,但都不管用$note=json_encode($row[“note”],json_HEX|json_HEX_标记);------>modPaziente(“$note.”)\“>”;谢谢,我用了$note=nl2br($note);但它不起作用。
onclick="return modPaziente($note);"
<script type="text/javascript">
function modPaziente(note){
    alert(note);
}