2016-04-17 4 views
0

cart.phpitems.php次のコードは、ユーザーのカートにある商品を表示します。 cart.Itはcart.phpファイルに保存されています。このコードは正常に動作します。私は別のページのdiv要素にこれをロードする際にsubmitボタンはdiv内では機能しません(内容はjQueryで.load()を使用してロードされます)

<?php 
session_start(); 
?> 
<!doctype html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Untitled Document</title> 
</head> 
<body> 
    <div class="txt-heading">Shopping Cart</div> 
<table cellpadding="10" cellspacing="1"> 
<tbody> 
<tr> 
<th><strong>Name</strong></th> 
<th><strong>Quantity</strong></th> 
<th><strong>Price</strong></th> 

</tr> 
<?php 
     $servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = ""; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

     $ip = $_SERVER['REMOTE_ADDR']; 

     $sql = "SELECT * FROM cart where ip='".$ip."'"; 
     $result = mysqli_query($conn, $sql); 
    $item_total =0; 

if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 
     ?><form method="post" action="" id="cart1"> 
     <tr> 
     <td><strong><?php echo $row["name"]; ?></strong></td> 
     <td><?php echo $row["qty"]; ?></td> 
     <td align=right><?php echo "Rs.".$row["price"]; ?></td> 
    <input name="no" type="hidden" value="<?php echo $row["orderno"] ?>" /> 
<td><input type="submit" name="submit" id="submit"/></td> 
    </tr> 
    </form> 

       <?php 
     $item_total += ($row["price"]*$row["qty"]); 
     } 
} 







?> 
<?php if ($_POST['submit']) { 
    $or=$_POST['no']; 
    $sql = "delete FROM cart where orderno='".$or."'"; 
     $result = mysqli_query($conn, $sql); 
    header("Location: ".$_SERVER['PHP_SELF']);} 
    ?> 

<tr> 

<td colspan="5" align=right><strong>Total:</strong> <?php echo  "Rs.".$item_total; ?></td> 
</tr> 
</tbody> 
</table>   

</body> 
</html> 

問題を適切にするdiv #cartにロードされ

<script> 
$(document).ready(function(){ 
setInterval(function(){ 
$("#cart").load('cart.php') 
}, 20); 
}); 

</script> 

cart.phpを使用しているitems.php こと、私がsubmitをクリックすると、何も起こりません。 cart.phpでsubmitをクリックすると、製品がデータベースから削除されたことに注意してください。

誰でもこの問題を解決する方法を教えてください。

答えて

0

私はクリックハンドラーが付属なっているが、DOM(あなたの場合は送信ボタン)が存在していない推測、あなたがdelegateに私は最終的にこの問題を解決し、この

$('body').on('click','#submit',function(event){ // submit is id of submit button 
    // rest of the code 
}) 
+0

気の毒な男です...( 'クリック'、 '#提出'、.... – gavgrif

+0

感謝@gavgrif私はそれを編集しました – brk

+1

3回目は正解:)) – gavgrif

0

ようclickイベントが必要な場合があります。これが「正しい」方法であるかどうかはわかりませんが、それは私のために働いていました。それはスクリプトが

<script> 
 
$(document).ready(function(){ 
 
setInterval(function(){ 
 
$("#cart").load('cart.php') 
 
}, 200); 
 
}); 
 
     
 
     
 
     $('#cart').on('click','#submit',function(event){ 
 
      var no = $(this).attr('name'); 
 
      var b = parseInt(no); 
 
      $.ajax({ 
 
     type: 'POST', 
 
     url: 'dlt.php', 
 
     data: {no: b}, 
 
      }); 
 
       
 
}); 
 
     
 
     
 
</script>
のように変更された

cart.php

<form method="post" action="cart.php" id="cart1"> 
 
    <tr> 
 
    <td><strong><?php echo $row["name"]; ?></strong></td> 
 
    <td><?php echo $row["qty"]; ?></td> 
 
    <td align=right><?php echo "Rs.".$row["price"]; ?></td> 
 
    <td><input type="submit" name="<?php echo $row["orderno"] ?>" id="submit" value="Remove"/></td> 
 
    </tr> 
 
    </form> 
 
で同様の問題

が直面している他の人にいくつかの使用であってもよいように、私はここにコードを掲示しています

とdlt.phpは、コード内の引用符のタイプミス、

<?php 
 
     $servername = "localhost"; 
 
$username = "root"; 
 
$password = ""; 
 
$dbname = ""; 
 

 
// Create connection 
 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
 
// Check connection 
 
if (!$conn) { 
 
    die("Connection failed: " . mysqli_connect_error()); 
 
} 
 
     
 

 
    $or=$_POST['no']; 
 
    $sql = "delete FROM cart where orderno='".$or."'"; 
 
     $result = mysqli_query($conn, $sql); 
 
    
 
    
 
?>

関連する問題