Javascript 如何在锚标记上调用AJAX函数?
我正在为我的网站使用PHP、jQuery、AJAX和Smarty。我从smarty模板中得到以下代码行。我想在单击该超链接时调用jQueryAjax函数,但无法调用它。你能帮我调用jQueryAjax函数吗? 下面是我的代码。 Smarty模板中的代码:Javascript 如何在锚标记上调用AJAX函数?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我正在为我的网站使用PHP、jQuery、AJAX和Smarty。我从smarty模板中得到以下代码行。我想在单击该超链接时调用jQueryAjax函数,但无法调用它。你能帮我调用jQueryAjax函数吗? 下面是我的代码。 Smarty模板中的代码: <a class="edit_user_transaction_status" href="{$control_url}{$query_path}?op=edit_user_transaction&page={$page}&
<a class="edit_user_transaction_status" href="{$control_url}{$query_path}?op=edit_user_transaction&page={$page}&txn_no={$user_transaction_details.transaction_no}&transaction_data_assign={$user_transaction_details.transaction_data_assign}&user_id={$user_id}{if $user_name!=''}&user_name={$user_name}{/if}{if $user_email_id!=''}&user_email_id={$user_email_id}{/if}{if $user_group!=''}&user_group={$user_group}&{/if}{if $user_sub_group!=''}&user_sub_group={$user_sub_group}{/if}{if $from_date!=''}&from_date={$from_date}{/if}{if $to_date!=''}&to_date={$to_date}{/if}{if $transaction_status!=''}&transaction_status={$transaction_status}{/if}{if $transaction_no!=''}&transaction_no={$transaction_no}{/if}">Update</a>
jQuery AJAX功能如下:
$(".edit_user_transaction_status").click(function(e) {
e.preventDefault();
//for confirmation that status change
var ans=confirm("Are you sure to change status?");
if(!ans) {
return false;
}
var post_url = $(this).attr('href');
var transaction_status_update = $('#transaction_status_update').val();
$.ajax({
type: "POST",
url: post_url+"&transaction_status_update="+transaction_status_update,
data:$('#transaction_form').serialize(),
dataType: 'json',
success: function(data) {
var error = data.login_error;
$(".ui-widget-content").dialog("close");
//This variables use for display title and success massage of transaction update
var dialog_title = data.title;
var dialog_message = data.success_massage;
//This get link where want to rerdirect
var redirect_link = data.href;
var $dialog = $("<div class='ui-state-success'></div>")
.html("<p class='ui-state-error-success'>"+dialog_message+"</p>")
.dialog({
autoOpen: false,
modal:true,
title: dialog_title,
width: 500,
height: 80,
close: function(){
document.location.href =redirect_link;
}
});
$dialog.dialog('open');
}
});
});
});
$(“.edit_user_transaction_status”)。单击(函数(e){
e、 预防默认值();
//以确认状态更改
var ans=确认(“您确定要更改状态吗?”);
如果(!ans){
返回false;
}
var post_url=$(this.attr('href');
var transaction_status_update=$(“#transaction_status_update”).val();
$.ajax({
类型:“POST”,
url:post_url+“&事务状态更新=“+事务状态更新,
数据:$('#事务_形式')。序列化(),
数据类型:“json”,
成功:函数(数据){
var error=data.login\u错误;
$(“.ui小部件内容”)。对话框(“关闭”);
//此变量用于显示标题和事务更新的成功消息
var dialog_title=data.title;
var dialog\u message=data.success\u消息;
//此get链接要重新定向到何处
var redirect_link=data.href;
变量$dialog=$(“”)
.html(“”+对话框消息+“
”)
.对话({
自动打开:错误,
莫代尔:是的,
标题:对话框标题,
宽度:500,
身高:80,
关闭:函数(){
document.location.href=重定向链接;
}
});
$dialog.dialog('open');
}
});
});
});
如果我试图在函数开始时打印警报,则无法打印。你能帮我实现这个目标吗?提前感谢。更正代码:
$(".edit_user_transaction_status").click(function(e) {
e.preventDefault();
//for confirmation that status change
var ans=confirm("Are you sure to change status?");
if(!ans) {
return false;
}
var post_url = $(this).attr('href');
var transaction_status_update = $('#transaction_status_update').val();
$.ajax({
type: "POST",
url: post_url+"&transaction_status_update="+transaction_status_update,
data:$('#transaction_form').serialize(),
dataType: 'json',
success: function(data) {
var error = data.login_error;
$(".ui-widget-content").dialog("close");
//This variables use for display title and success massage of transaction update
var dialog_title = data.title;
var dialog_message = data.success_massage;
//This get link where want to rerdirect
var redirect_link = data.href;
var $dialog = $("<div class='ui-state-success'></div>")
.html("<p class='ui-state-error-success'>"+dialog_message+"</p>")
.dialog({
autoOpen: false,
modal:true,
title: dialog_title,
width: 500,
height: 80,
close: function(){
document.location.href =redirect_link;
}
});
$dialog.dialog('open');
}
});
});
$(“.edit_user_transaction_status”)。单击(函数(e){
e、 预防默认值();
//以确认状态更改
var ans=确认(“您确定要更改状态吗?”);
如果(!ans){
返回false;
}
var post_url=$(this.attr('href');
var transaction_status_update=$(“#transaction_status_update”).val();
$.ajax({
类型:“POST”,
url:post_url+“&事务状态更新=“+事务状态更新,
数据:$('#事务_形式')。序列化(),
数据类型:“json”,
成功:函数(数据){
var error=data.login\u错误;
$(“.ui小部件内容”)。对话框(“关闭”);
//此变量用于显示标题和事务更新的成功消息
var dialog_title=data.title;
var dialog\u message=data.success\u消息;
//此get链接要重新定向到何处
var redirect_link=data.href;
变量$dialog=$(“”)
.html(“”+对话框消息+“
”)
.对话({
自动打开:错误,
莫代尔:是的,
标题:对话框标题,
宽度:500,
身高:80,
关闭:函数(){
document.location.href=重定向链接;
}
});
$dialog.dialog('open');
}
});
});
注意:删除
})代码>从最后一行开始。将所有代码包装到函数中并调用,确保脚本在函数中。。document.ready function$(function(){..})
就像一个完整的程序只包含在一个A标记中…它是否包装在$(document.ready(){}
中?您的代码有一组额外的})代码>在末尾,这是不需要的。