使用ajax將testNew.php文件加載到Cart.html文件中。它加載testNew.php文件,但是當我點擊添加testNew.php中的按鈕時,在數據庫中輸入0,並且一旦我點擊添加按鈕頁面自身刷新。我的問題是,我不希望頁面刷新,並希望添加按鈕執行testNew.php文件(它可以正常工作)相同的操作。使用ajax加載php文件
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.2.js'>
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script>
$(document).ready(function() {
$("#product").click(function() {
$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: "testNew.php",
dataType: "html", //expect html to be returned
success: function(response){
$("#responsecontainer").html(response);
//alert(response);
}
});
});
});
</script>
</head>
<body>
<table border="1">
<tr>
<td>
<input type="button" id="product" name="product"value="View all products"/>
</td>
</tr>
</table>
<div id="responsecontainer"></div>
這是testNew.php,它能正常工作。
<?php
include'connect.php';
$image = isset($_REQUEST['image']) ? $_REQUEST['image'] : "";
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : "";
$name = isset($_REQUEST['name']) ? $_REQUEST['name'] : "";
$price= isset($_REQUEST['price']) ? $_REQUEST['price'] : "";
$sql="SELECT * FROM product";
$result = mysql_query($sql);
if($result>0){
?>
<table border='1'>
<tr>
<th>Id</th>
<th>Image</th>
<th>Name</th>
<th>Price MUR</th>
</tr>
<?php
while ($row = mysql_fetch_array($result)){
?>
<tr>
<td><?php echo ($row['id']); ?></td>
<td><img src=<?php echo $row['image'] ?> width='120'
height='100'/></td>
<td><?php echo htmlspecialchars($row['name']); ?></td>
<td><?php echo htmlspecialchars($row['price']); ?></td>
<td>
<form method="POST" action="" >
<input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
<input type="hidden" name="name" value="<?php echo $row['name']; ?>" />
<input type="hidden" name="image" value="<?php echo $row['image']; ?>" />
<input type="hidden" name="price" value="<?php echo $row['price']; ?>" />
<input id="submit" type="submit" name="submit" value='Add to cart'
onclick="add()"/>
</form>
</td>
</tr>
<?php
}
?>
</table>
<?php
}
$insert = "INSERT INTO product_add(id, name, price) VALUES ('$id', '$name','$price')";
$insertQuery=mysql_query($insert);
?>
刪除第一個jqeury庫。沒有必要添加兩個庫。 – Jai
提交FORM刷新/重定向頁面時,您需要防止此默認行爲。順便說一句,我沒有看到任何add()方法 –
該頁面刷新,因爲'form'在頁面級提交'POST'請求。如果你想使用AJAX,那麼你需要爲阻止提交的表單編寫一個處理程序。大概你的'add'函數應該這樣做,但是你沒有向我們展示那個函數。至於向數據庫中添加0,我們不可能知道這裏的代碼是由什麼引起的。你將什麼插入數據庫?從表單文章中提供的價值是多少? – David