【发布时间】:2023-12-11 10:56:01
【问题描述】:
当我回显这张表时:
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 控制台显示此错误:
未捕获的 ReferenceError:未定义 ADAC 在 HTMLInputElement.onclick
或者,如果十六进制为 39E3,则函数运行,但我在函数 39000 中得到这个数字,我不知道为什么,但它是正确的,因为在谷歌中,如果我将 39E3 设为十进制,我会得到那个数字,但我不希望 39E3 转换本身到 39000 所以我的猜测是变量 $row['IdOrder'] 如果它以数字或字母开头,则被视为不同,我希望 $row['IdOrder'] 始终被视为文本以避免这种奇怪的转换,如果它可能或也许,做
我必须走另一条路?
【问题讨论】:
-
试试
{$row["IdOrder"]}。 -
以字符串形式传递
$row['IdOrder']
标签: javascript php jquery echo quotes