2016-08-24 3 views
1

を使用して値を取得する私は、フォームの入力要素を持っている:設定値とここでPHP

cart.php

<form id="cartform" action="cart.php?action=update&pd=<?php echo $row['product_id'] ?>" name="form1" method="post"> 
<?php 
    $query = "select * from cart where customer_id='$user' "; 
    $result = mysqli_query($con,$query);$payableamount = 0;$totalsavings = 0; 
    while($row = mysqli_fetch_array($result)) 
    { 
     $productid = $row['product_id']; 
     $query2 = "select * from product where product_id='$productid'"; 
     $result2 = mysqli_query($con,$query2); 
     while($row2=mysqli_fetch_array($result2)) 
     { 
?> 
      <input tpe="text" name="quantxt[]" id="quantxt" value="<?php echo $qty = $row['quantity']; ?>" onkeyup="showsubmit(<?php echo $row['cart_id'] ?>,<?php echo $row['product_id'] ?>)"> 
      <input type="text" name="s1" id="s1" value=""/> 
      <input style="visibility:hidden;width:80px;border-radius:10px;background-color:green;border:none;padding:5px;color:white;" 
       type="submit" 
       name="sub_<?php echo $row['cart_id'] ?>" 
       id="sub_<?php echo $row['cart_id'] ?>" 
       value="UPDATE"> 
</table>  
</form> 

とJavaScriptは次のとおりです。

<script> 
    function showsubmit(id,prodid) 
    { 
     alert(id); 
     alert(prodid); 
     document.getElementById("sub_"+id).style.visibility ="visible"; 
     document.getElementById("s1").value = prodid; 
     f = document.getElementById("s1").value; 
     alert("product id is:"+f); 
    } 
</script> 

私はcart2.phpのs1要素の値にアクセスしていますが、何も表示されません。私は、この行のjavascript

$prod_id = $_POST['s1']; 
echo "product id of clickable product is:".$prod_id."<br>"; 
+0

whileループはどこで終了しますか? –

+0

コードが不完全です。 'table'の開始タグはありません –

+0

** alert(id); **と** alert(prodid); **で値を取得していますか? –

答えて

0

を使用して更新された値を期待していながら、次のページS1に は、値を持たない:

<input type="text" name="s1" id="s1" value=""/> 

は、ループ内にあります。ループには1つの行しか戻っていないことを確認できますか?なぜなら、そうでなければ、javacriptが正しくキャッチできない同じidで複数の要素を作成しているからです。 idは一意であるはずです。複数の同じidsの場合、最初の一致を捕まえて停止します。

関連する問題