我有一个问题:
我对数据库进行 ajax 查询并显示有关特定 ID 的信息,并将其显示在 HTML 格式的消息返回中。
这是 HTML 代码:
<!-- WINE -->
<div id="slides">
<div id="information_slide" class="slide">
<!-- container as a result of JS -->
</div>
</div>
<!-- WINE -->
<!-- LOADING -->
<div id="loading_slide" class="slide" style="display: none;">
Loading information about the wine ...<br/><br/><img src="images/ajax-loader.gif" />
</div>
<!-- LOADING -->
<!-- AJAX CALL BUTTON -->
<?php
echo '<div id="'.$id['id'].'" class="menuItem">Show wine when ID = '.$id['id'].'</div>';
?>
<!-- AJAX CALL BUTTON -->
这是JS代码:
[JavaScript]
$('.menuItem').on('click', function() {
// ID Wine
var id = $(this).attr('id');
$.ajax({
url: 'function.php',
beforeSend: function () {
$('#slides #information_slide').fadeOut(200, function() {
$('#slides #loading_slide').fadeIn(200);
});
},
data: {
funkcja: 'show_wine',
id: id
},
type: 'post',
success: function(result) {
setTimeout(function() {
$('#slides #loading_slide').fadeOut(200, function() {
$('#slides #information_slide').html(result).fadeIn(400);
});
}, 500);
}
});
// alert(id);
});
[/JavaScript]
这是PHP代码:
[菲律宾文]
<?php
if(isset($_POST['funkcja']) && !empty($_POST['funkcja'])) {
switch($_POST['funkcja']) {
case 'show_wine':
show_wine($_POST['id']);
break;
}
}
// Callback wine function
function show_wine($id) {
$qwerty = "SELECT * FROM `wina` WHERE id='".$id."' LIMIT 1";
$sql = mysql_query($qwerty);
while($id = mysql_fetch_assoc($sql)) {
echo '
<div id="'.$id['id'].'" class="element">
<form method="post" action="" class="jcart">
<fieldset>
<input type="hidden" name="jcartToken" value="'.$_SESSION['jcartToken'].'" />
<input type="hidden" name="my-item-id" value="'.$id['id'].'" />
<input type="hidden" name="my-item-name" value="'.stripslashes($id['nazwa']).'" />
<input type="hidden" name="my-item-price" value="'.stripslashes($cena_przecinek).'" />
<input type="hidden" name="my-item-url" value="" />
<input type="hidden" name="my-item-qty" value="1" size="3" class="item-sztuk" />
<input type="submit" name="my-add-button" value="to cart" class="item-button" />
</fieldset>
</form>
<!-- ... remaining HTML code... -->
</div>
';
}
}
?>
[/php]
我有一个如前所述的结果。该脚本向我显示来自数据库的特定 ID 的信息(记录) - 脚本的这一部分是可以的。
当PHP回调函数(称为Ajax)托管表单时,我遇到的问题也使用Ajax函数。这部分HTML代码响应来自PHP函数...
<form method="post" action="" class="jcart">
<fieldset>
<input type="hidden" name="jcartToken" value="'.$_SESSION['jcartToken'].'" />
<input type="hidden" name="my-item-id" value="'.$id['id'].'" />
<input type="hidden" name="my-item-name" value="'.stripslashes($id['nazwa']).'" />
<input type="hidden" name="my-item-price" value="'.stripslashes($cena_przecinek).'" />
<input type="hidden" name="my-item-url" value="" />
<input type="hidden" name="my-item-qty" value="1" size="3" class="item-sztuk" />
<input type="submit" name="my-add-button" value="to cart" class="item-button" />
</fieldset>
</form>
。是我的 jCart 脚本的形式。按钮(名称=我的添加按钮)不起作用。
JS脚本从页面上的开头加载:
[网页]
<head>
<script type="text/javascript" language="javascript" src="files/jcart.js"></script>
</head>
[/html]
当我调用ajax函数时,将结果(html代码)加载到容器中,按钮应该将项目添加到购物车,页面正在重新加载,仅项目被添加到购物车。我试图在PHP脚本中添加返回false;但如果碰巧什么都没有。
这是JS代码文件jcart -> www.starwines.com.pl/jcart/js/jcart.js
这是演示页面 -> www.starwines.com.pl/test.php
请尝试以下操作:*1)*通过点击"Dodaj do koszyka"(黄色按钮)添加项目。2)从旋转木马中选择不同的葡萄酒,然后单击"Dodaj do koszyka"
如何解决这个问题?
问候!
对不起英语,我很弱:)
将点击事件绑定代码从
$('.jcart').submit(function(e) {
add($(this));
e.preventDefault();
});
自
$(document).on('submit', '.jcart', function(e) {
add($(this));
e.preventDefault();
});
会做这项工作。
jQuery on