我有链接
<a href='#' class='changer text-primary'><i class='fa fa-pencil-square-o '></i></a>
使用javascript编辑内联产品数量的值。它曾经工作正常,直到我在我的应用程序中实现mod重定向。
我添加了基本链接:<base href="http://127.0.0.1/MyApp/">
现在,当我点击此链接时,我被重定向到http://127.0.0.1/MyApp/index.php,而不是停留在同一页面,并通过jquery切换显示更新形式。
这是更新表格:
<form class="update-quantity-form" style="display: none">
<div class="input-group updater">
<input name="quantity" value="<?= $saved_cart_items[$id_product]['quantity']?>" min="1" class="form-control" required="" type="number">
<span class="input-group-btn">
<button type="submit" class="btn btn-default update-quantity">Update</button>
</span>
</div>
</form>
这是htaccess与此文件相关的内容:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^MyCart/?$ cart.php [NC,L]
这是已被忽略的切换动画的javascript:
$('.changer').on('click', function () {
$('.update-quantity-form').toggle('fast');
});
答案 0 :(得分:2)
这个问题与mod_rewrite,.htaccess甚至你的html本身无关。
问题是当您不需要导航时,您的javascript事件处理程序无法正确取消导航。即使没有<base ...>
的问题,在所有浏览器中,网址后面都会显示一个主题标签,在某些浏览器中,焦点会突显显示在屏幕顶部。
相反,请使用以下javascript取消导航事件:
$('.changer').on( 'click', function( event ) {
event.preventDefault();
$('.update-quantity-form').toggle('fast');
} );
有关详细信息,请参阅the click event on mdn,它是一个MouseEvent,它是一个UIEvent,它是一个Event,它实现了Event.preventDefault()
。