【发布时间】:2020-02-14 09:23:25
【问题描述】:
员工的产品不得超过 100 欧元,所以我想让他写下他想要的产品数量,按下按钮,会出现一个对话框,显示订单的总价。 我设法在对话框中显示每种产品的商品价格,并将每种选择的产品的价格加在一起。
但是,我无法恢复输入的值,即员工选择的数量。
$lenum = 0;
foreach ($lesProduits as $leProduit){
?>
<img src="<?php echo $leProduit['image'];?>">
<br><input type="checkbox" id="<?php echo $leProduit['nproduit']?>" name="nproduits[]" value="<?php echo $leProduit['nproduit']?>">
<?php echo $leProduit['nproduit']; ?> - <?php echo $leProduit['designation']; ?><br>
Boitage : <?php echo $leProduit['boitage'];?><br>
Prix Unitaire : <?php echo $leProduit['prix']; ?>€<br>
Quantité : <?php echo $leProduit['qtestock']; ?> <br>
Quantité souhaité : <input type="text" name="txtqte[]" id="<?php echo $lenum;?>" size="3"/><br>
<input type="button" value="Enregistrer" onclick="leprix(lep = <?php echo $leProduit['prix'];?>,<?php echo $lenum;?>)">
<br>
<hr><br>
<?php
$lenum ++;
}
?>
和脚本
function leprix(lep,inputId){
var lavaleur = document.getElementById(inputId).value;
alert("la prix du produit est de : " + lep);
alert("la quantité demandé est de : " + lavaleur);
}
对于第一个产品,当 $lenum = 0 时它可以工作,但随后它显示 $lenum 而不是输入的值
【问题讨论】:
-
<input type="text" name="txtqte[]" name="<?php echo $lenum;?>" size="3"/>你应该提供一个id -
在 PHP 循环的每次迭代中,您都会输出
function leprix。只有该函数的最后一次迭代才会真正“存活”并覆盖所有以前的迭代。所以onclick="leprix()"不会调用特定的function leprix“那个迭代”,而是最后一个。 -
试试这个:
<input type="text" name="txtqte[]" name="<?php echo $lenum;?>" size="3" id="<?php echo $lenum;?>">
标签: javascript php input