我尝试了很多方法来弹出 JavaScript 警报,但它不起作用。
我的网站使用的是 SilverStripe 3.1。我正在使用 jQuery。
JavaScript 文件或 Web 控制台中没有错误。 JavaScript 文件已加载到页面上。所有 mt 其他功能(.remove、.ajaxbtn、.gotocart 和 checkout)均正常工作。仅警报调用不起作用。
这是我的 JavaScript 文件:
(function($)
{
$(document).ready(function()
{
$('.ajaxbtn').on( 'click', function()
{
event.preventDefault();
var link = $(this).attr('href');
var request = $.ajax(
{
url: link,
type: 'GET',
dataType: 'html'
});
$('.ajaxbtn').ajaxSuccess(function()
{
alert('AJAX request successfully completed');
});
alert('AJAX request successfully completed');
});
$('body').on( 'click', '.remove',function()
{
//event.preventDefault();
var link = $(this).attr('href');
//console.log(dataid);
var request = $.ajax(
{
url: link,
type: 'GET',
dataType: 'html'
});
});
$('body').on( 'click', '.checkout', function()
{
//event.preventDefault();
var link = $(this).attr('href');
//console.log(dataid);
var request = $.ajax(
{
url: link,
type: 'GET',
dataType: 'html'
});
});
$( '.gotocart' ).click(function()
{
alert('asdasdas');
var link = $(this).attr('href');
var request = $.ajax(
{
url: 'member-area/product-page-2/product-gallery/OrderedTemplate/',
type: 'GET',
dataType: 'html'
});
request.done(function( msg )
{
$('.cartcontent' ).replaceWith(msg);
});
});
});
}(jQuery));
这是我的按钮的 html:
<button class="ajaxbtn btn btn-primary" href="$Top.Link(Cart)?id=$ID">Pick</button>
<button class="remove btn btn-primary" href="$Top.Link(RemoveItem)?id=$ID">Remove</button>
<button class="checkout pull-right btn btn-primary" style="margin-right:10px;" href="$Top.Link(CheckOut)?id=$ID">Check Out</button>
<button class="gotocart pull-right btn btn-primary" style="margin-right:20px" href="$Top.Link(gotoCart)">Go to cart</button>
最佳答案
我相信 .ajaxSuccess() 应该附加到文档,而不是特定的元素。所以$(document).ajaxSuccess();
。
- 此外,您可能应该将其移到按钮的点击处理程序之外,否则每次点击按钮时都会一次又一次地绑定(bind)成功事件。
关于JavaScript 警报不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27477187/