我的HTML代码如下:
<span class="c-bl-btn c-mail-btn-another"><input type="button" class="more send_email" name="" id="" value="Email Invoice" data="../modules/transactions/view_transactions.php?op=email_invoice&txn_no=1001&user_id=101"></span>
$('.send_email').click(function (e) {
e.preventDefault();
var ans=confirm("Are you sure to Email this invoice?");
if(!ans) {
return false;
}
var post_url = $(this).attr('href');
$.ajax({
url: post_url,
type : 'get',
dataType: 'json',
success: function(data) {
var status = data.status;
var dialog_title = "Email Invoice";
var message = data.msg;
if(status == 'success') {
var $dialog = $("<div class='ui-state-success'></div>")
.html("<p class='ui-state-error-success'>"+message+"</p>")
.dialog({
autoOpen: false,
modal:true,
title: dialog_title,
width: 500,
buttons:{
'OK': function() {
$(this).dialog('close');
}
}
});
} else {
var $dialog = $("<div></div>")
.html("<p class='ui-state-error-text'>"+message+"</p>")
.dialog({
autoOpen: false,
modal:true,
title: dialog_title,
width: 500,
buttons:{
'OK': function() {
$(this).dialog('close');
}
}
});
}
$dialog.dialog('open');
}
});
});
此外,firebug控制台中没有错误。我正在使用jQuery 1.9。但是,如果我调用javascript函数,它就会收到一个电话。我尝试了很多,但没有得到满意的解决方案。任何人都可以帮我打电话给jQuery函数吗?提前致谢。 如果我使用以下代码来调用javascript函数,则会调用它。
<span class="c-bl-btn c-mail-btn-another"><input type="button" class="more send_email" name="" id="" value="Email Invoice" data="$control_url}modules/transactions/view_transactions.php?op=email_invoice&txn_no={$user_transaction_details.transaction_no}&user_id={$user_id}" onclick="open_win()"></span>
function open_win()
{
var ans=confirm("Are you sure to Email this invoice?");
if(!ans) {
return false;
}
}
答案 0 :(得分:2)
我注意到您的代码中还有其他几个错误。
"send_email" - <input type="button" class="more send_email" name="" id="" value="Email Invoice" data="../modules/transactions/view_transactions.php?op=email_invoice&txn_no=1001&user_id=101">
在这里,您会看到输入标记格式不正确且您错过了"/"
2。如果是一个按钮(即$(this)
),则无法使用$(this).attr('href');
。这只适用于超链接。
3。我发现您已将帖子位置存储在data
属性中。它应该是data-attributeName
。
所以它应该是data-url = "../modules/transactions/view_transactions.php?op=email_invoice&txn_no=1001&user_id=101"
您可以按照$(this).data("url")
JSFiddle目前正在关闭。当它再次出现时我会尝试制作一个小提琴