Javascript 我的代码赢了';不能将文本写入表格单元格
今天是第二个问题,但它真的不起作用。 我有一张购物卡,左边有一张桌子,右边有一张,左边是你能买到的商品,右边是你卡上的商品。代码运行正常,但如果您在产品上单击两次,它会添加两个新行,因此我编辑了代码。不知怎的,当我现在点击它时,我不会得到任何结果。(哦,我把代码放在标记之间,今天早些时候是在onClick函数中)Javascript 我的代码赢了';不能将文本写入表格单元格,javascript,php,Javascript,Php,今天是第二个问题,但它真的不起作用。 我有一张购物卡,左边有一张桌子,右边有一张,左边是你能买到的商品,右边是你卡上的商品。代码运行正常,但如果您在产品上单击两次,它会添加两个新行,因此我编辑了代码。不知怎的,当我现在点击它时,我不会得到任何结果。(哦,我把代码放在标记之间,今天早些时候是在onClick函数中) 函数addToTable(productName、productPrice){ var table=document.getElementById('cardtable'); var
函数addToTable(productName、productPrice){
var table=document.getElementById('cardtable');
var行=table.insertRow(-1);
var rowCount=table.rows.length;
警报(行计数);
对于(变量i=0;i
下一个代码是PHP,它使用MySQL数据库中的数据生成一个表(工作正常!)
($i=0;$i{
$iprice=数字_格式((浮动)$productprices[$i],2,',',','');
回音(
"
$PRODUCTNAME[$i]
$iprice
"
);
}
所以问题是,因为我把for语句,而不仅仅是现在在else中的,所以没有任何东西在运行。
我知道代码中还有一个错误,但它应该运行。(如果出现其他情况,则创建多个新行)
这将产生无效的javascript代码。您必须将字符串包装到”
:
echo "... onclick=\"addToTable('$productnames[$i]',$iprice)\" ... "
这现在是有效的Javascript,但无效的PHP(-usage)。要生成有效的PHP:在“
-字符串中,可以使用变量,但不能使用方法调用或数组访问。使用:
echo "... onclick=\"addToTable('".$productnames[$i]."',$iprice)\" ... "
看起来您给多个元素赋予了相同的“id”值,这会导致问题。“id”值在整个页面中必须是唯一的。我不确定,但是,我认为您应该在这行代码
{$PRODUCTNAME[$I]}中加上花括号
@pointy kan我使用类?是的,你可以使用类。谢谢,我将使用类。它将再次将其添加到表中,因此这是一个发展:p问题是,我现在将其添加到表中:$PRODUCTNAME[$I]$iprice1,所以它不是这样挑选php变量的。哦,我明白了,我会在几分钟内把正确的代码放在这里minutes@RikNijhuis同样的原因。正确地转义变量。:)它现在正在运行,但我的float-iprice变量现在在我的表中是一个整数,你能告诉我为什么吗?@RikNijhuis你正在使用number\u格式
来格式化你的价格。Y您将,
作为十进制分隔符传递,因此,当值为2.33
时,生成的javascript调用将是addToTable('aString',2,33)
-生成的javascript认为您将传递3个参数,因此您的第二个参数是2
,而不是2.33
。或者使用
作为小数分隔符(addToTable(aString',2.33)
就可以了),或将值也作为字符串传递。在向用户呈现值时执行格式化始终是一个好主意,否则请坚持使用原始数据格式。
echo "... onclick='addToTable($productnames[$i],$iprice)' ... "
echo "... onclick=\"addToTable('$productnames[$i]',$iprice)\" ... "
echo "... onclick=\"addToTable('".$productnames[$i]."',$iprice)\" ... "