fetch(PDO::FET-6ren">
gpt4 book ai didi

javascript - 如何正确回显 onclick ='function($var)'

转载 作者:行者123 更新时间:2023-11-30 15:19:34 25 4
gpt4 key购买 nike

当我回显这张表时:

echo "<table class='aTable'  border='1'>
<tr>
<th>ID</th>
<th>Nombre</th>
<th>Apellido</th>
<th>Telefono</th>
<th>Fecha</th>
<th>Ver Orden</th>
</tr>";

while($row = $gsent->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>";
echo "<td>" . $row['IdOrder'] . "</td>";
echo "<td>" . $row['Name'] . "</td>";
echo "<td>" . $row['Apellido'] . "</td>";
echo "<td>" . $row['Phone'] . "</td>";
echo "<td>" . $row['TimeStamp'] . "</td>";
echo "<td>" ."<input type='submit' name='ID' value='VER' onclick='showOrder({$row['IdOrder']})'>"."</td>";
echo "</tr>";
}
echo "</table>";

我希望最后一列显示一个触发 Javascript 函数的按钮

    <script>
function showOrder(IdOrder){
jQuery('#list-data').val(IdOrder);
document.getElementById("formOrder").submit();
console.log('PHP: ' + IdOrder );

var delayMillis = 500;
setTimeout(function() {
window.location.href = 'ask.php';
}, delayMillis);
}
</script>

当按钮 $row['IdOrder'] 包含一个数字时,一切正常,例如 1521 或 00254,但是当它有一个十六进制数时,它将无法工作或以奇怪的方式运行,例如在 ADAC 上在chrome 控制台显示此错误:

Uncaught ReferenceError: ADAC is not defined at HTMLInputElement.onclick

或者如果十六进制是 39E3 函数运行但是我在函数 39000 中得到这个数字我不知道为什么但是是正确的因为在谷歌中如果我把 39E3 转换为十进制我得到那个数字但是我不希望 39E3 转换本身到 39000 所以我的猜测是变量 $row['IdOrder'] 如果它以数字或字母开头,则被视为不同,我希望 $row['IdOrder'] 始终是像文本一样对待以避免这种奇怪的转换,如果可能的话,做我必须走另一条路吗?

最佳答案

如果您的 IdOrder 不是纯数字值,您必须用引号将其括起来,变成一个字符串:

"<input type='submit' name='ID' value='VER' onclick='showOrder(\"{$row['IdOrder']}\")'>"

它应该打印出如下内容:

<input type='submit' name='ID' value='VER' onclick='showOrder("myId")'>

因此编译器不会尝试猜测 ADAC 是一个对象而不是字符串。

关于javascript - 如何正确回显 onclick ='function($var)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43939526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com