在使用AJAX点击并提交后,我无法识别提交按钮的特定值或ID。
如果我将以下代码作为全局函数放置,它会正确警告单击按钮的值:
$(":submit").live('click', function() {
alert($(this).val());
})
但是,当我尝试定义变量时,我无法在成功回调函数中使用该变量:
$(":submit").live('click', function() {
var whichButton = $(this).val();
})
...
$("#applicant-form").validate({
function(form) {
$(form).ajaxSubmit({
...
success: alert(whichButton);
我也尝试将代码放在submitHandler中,但这也不起作用。
在一篇有点相关的帖子中,用户建议我放置以下代码:
$("#accordion .edit").click(function(){
window.lastButtonClicked = this;
});
...
submitHandler: function(){
var index_origin = $(window.lastButtonClicked).attr("name");
}
但是我无法得到点按钮的值(它表示该值未定义)。
有什么建议吗?
更新:如果我提供有关我需要知道按哪个按钮的原因的详细信息,可能会有所帮助。我在多部分表单中为每个表单提供了两种提交按钮。我想根据点击的按钮做不同的事情。
答案 0 :(得分:0)
$(":submit").live('click', function() {
var whichButton = $(this).val();
})
whichbutton
的范围在这个匿名函数中;你不能从别处访问它。快速修复可能是将whichbutton
声明为全局变量,但可能很少会出现这种情况。关于你正在尝试做什么的更多背景会有所帮助,现在它看起来就像你在ajax表单提交后试图提醒成功时按钮文本。