将变量值发送到点击函数

Send variable value to onclick function

本文关键字:函数 变量值      更新时间:2023-09-26

我有一个表格,每个单元格中都有一个编辑图像,所以当用户单击它时,他们会在单元格中看到一个输入框。(以下是其中一个单元格的示例)

  <td>
      echo  
           "<p id=$idl>" . $var  .   "</p>" . "<img style ='cursor:pointer; ' class='onInput' src='http://nimbuzz007.hexat.com/icon4/icon%2015.png' id='input_img' onclick='legacyFunction($idl,$var)'>";
   </td>

这就是"遗留功能":

 function legacyFunction($idl,$var) {
    document.getElementById($idl).innerHTML =
    "<input  value=$var></input>";

};

所以我想将单元格的当前数据发送到函数,以在输入框中显示它,但它不起作用。我的错误是什么?有可能吗?

您需要在

参数两边加上引号,因为它们是字符串。

onclick='legacyFunction('"$idl'",'"$var'")'

正如其他人所说,混合html,js和php是一种不好的做法。如果可能的话,我总是倾向于分离代码。

例:

<td>
    <p id="<?php echo $idl; ?>"><?php echo $var; ?></p>
    <img style="cursor: pointer;" class="onInput" src="http://nimbuzz007.hexat.com/icon4/icon%2015.png" onclick="legacyFunction(<?php echo "$idl, $var"; ?>);">
</td>
<script>
    function legacyFunction($idl, $var) {
        // Inputs are void elements and as such they do not need closing tags - </input>
        document.getElementById($idl).innerHTML =  '<input value="'+ $var + '">';
    };
</script>