Jquery 从ajaxform插件构造函数中选择标记using$(this)

Jquery 从ajaxform插件构造函数中选择标记using$(this),jquery,jquery-selectors,ajaxform,Jquery,Jquery Selectors,Ajaxform,注意:我的标题很差,如果你理解我的问题,请帮助我改进它 我所有的表格都使用提交。我能够通过编程成功地将反馈div添加到每个表单中。我只想在我的页面中选择当前表单。我正在使用以下代码 $('form').append('<div class="feedback" />'); $('form').ajaxForm ({ success: function(responseText) { if(respo

注意:我的标题很差,如果你理解我的问题,请帮助我改进它

我所有的表格都使用提交。我能够通过编程成功地将反馈div添加到每个表单中。我只想在我的页面中选择当前表单。我正在使用以下代码

 $('form').append('<div class="feedback" />');
    $('form').ajaxForm
    ({      
        success: function(responseText)
        {
            if(responseText=="1")
            {           
                $(this).clearForm();
                $(this).children('INPUT,select').eq(0).focus();
            }
            else    
            {
                alert($(this).children().length); // This gives me 0
                $(this).children('.feedback').eq(0).html(responseText); 
            }
        }
    });
$('form')。追加(“”);
$('form').ajaxForm
({      
成功:函数(responseText)
{
如果(responseText==“1”)
{           
$(this.clearForm();
$(this).children('INPUT,select').eq(0).focus();
}
其他的
{
警报($(this.children().length);//这给了我0
$(this).children('.feedback').eq(0).html(responseText);
}
}
});

只有当我在整个页面中有一个表单使用$('form')而不是$(this)时,我才能成功地完成上述操作。但是,当我在一个页面中有多个表单时,这会产生问题如果你仔细查看文档,就会发现
成功
回调传递了4个参数

1.) responseText or responseXML value (depending on the value of the dataType option).
2.) statusText
3.) xhr (or the jQuery-wrapped form element if using jQuery < 1.4)
4.) jQuery-wrapped form element (or undefined if using jQuery < 1.4)

如果仔细查看文档,您将看到
成功
回调传递了4个参数

1.) responseText or responseXML value (depending on the value of the dataType option).
2.) statusText
3.) xhr (or the jQuery-wrapped form element if using jQuery < 1.4)
4.) jQuery-wrapped form element (or undefined if using jQuery < 1.4)

如果仔细查看文档,您将看到
成功
回调传递了4个参数

1.) responseText or responseXML value (depending on the value of the dataType option).
2.) statusText
3.) xhr (or the jQuery-wrapped form element if using jQuery < 1.4)
4.) jQuery-wrapped form element (or undefined if using jQuery < 1.4)

如果仔细查看文档,您将看到
成功
回调传递了4个参数

1.) responseText or responseXML value (depending on the value of the dataType option).
2.) statusText
3.) xhr (or the jQuery-wrapped form element if using jQuery < 1.4)
4.) jQuery-wrapped form element (or undefined if using jQuery < 1.4)

$(此选项)仅在成功回调调用的上下文是表单节点本身时有效

如果它不工作,您可以始终缓存引用,并且您可以在回调的范围内访问它:

var $form = $('form');

$form.ajaxForm({
    success: function (responseText) {

        $form.clearForm();

    }
});
我没有将您的逻辑包含在响应中,因为响应是一个具有多个唯一属性的对象。有关属性,请参见@charlietfl的答案

------ UPDATE ---------
如果您遇到的问题是在附加div后需要访问该表单,请记住“append”以及影响节点的所有其他jQuery方法都是可链接的:

$('form').append('<div>My Div</div>').ajaxForm(options....)
$('form').append('My Div').ajaxForm(选项…)
希望成功处理程序调用的上下文是表单节点本身,否则您可以像我上面所做的那样缓存引用。

$(这)仅在成功回调调用的上下文是表单节点本身时才起作用

如果它不工作,您可以始终缓存引用,并且您可以在回调的范围内访问它:

var $form = $('form');

$form.ajaxForm({
    success: function (responseText) {

        $form.clearForm();

    }
});
我没有将您的逻辑包含在响应中,因为响应是一个具有多个唯一属性的对象。有关属性,请参见@charlietfl的答案

------ UPDATE ---------
如果您遇到的问题是在附加div后需要访问该表单,请记住“append”以及影响节点的所有其他jQuery方法都是可链接的:

$('form').append('<div>My Div</div>').ajaxForm(options....)
$('form').append('My Div').ajaxForm(选项…)
希望成功处理程序调用的上下文是表单节点本身,否则您可以像我上面所做的那样缓存引用。

$(这)仅在成功回调调用的上下文是表单节点本身时才起作用

如果它不工作,您可以始终缓存引用,并且您可以在回调的范围内访问它:

var $form = $('form');

$form.ajaxForm({
    success: function (responseText) {

        $form.clearForm();

    }
});
我没有将您的逻辑包含在响应中,因为响应是一个具有多个唯一属性的对象。有关属性,请参见@charlietfl的答案

------ UPDATE ---------
如果您遇到的问题是在附加div后需要访问该表单,请记住“append”以及影响节点的所有其他jQuery方法都是可链接的:

$('form').append('<div>My Div</div>').ajaxForm(options....)
$('form').append('My Div').ajaxForm(选项…)
希望成功处理程序调用的上下文是表单节点本身,否则您可以像我上面所做的那样缓存引用。

$(这)仅在成功回调调用的上下文是表单节点本身时才起作用

如果它不工作,您可以始终缓存引用,并且您可以在回调的范围内访问它:

var $form = $('form');

$form.ajaxForm({
    success: function (responseText) {

        $form.clearForm();

    }
});
我没有将您的逻辑包含在响应中,因为响应是一个具有多个唯一属性的对象。有关属性,请参见@charlietfl的答案

------ UPDATE ---------
如果您遇到的问题是在附加div后需要访问该表单,请记住“append”以及影响节点的所有其他jQuery方法都是可链接的:

$('form').append('<div>My Div</div>').ajaxForm(options....)
$('form').append('My Div').ajaxForm(选项…)

希望成功处理程序调用的上下文是表单节点本身,如果不是,您可以像我上面所做的那样缓存引用。

您面临的问题是什么,您可以显示HTML吗?您可以看到plz
alert($(this).children().length);//这在Qestion中为我提供了0
,您面临的问题是什么,您能显示HTML吗?您能看到plz
警报($(This.children().length);//这在Qestion中为我提供了0
,您面临的问题是什么,您能显示HTML吗?您能看到plz
警报($(This.children().length);//这在Qestion中为我提供了0
,您面临的问题是什么,您能显示HTML吗?您能看到plz
警报($(This.children().length);//由于集合
$('form')
您仍在缓存整个集合,因此实例不会使用
$form
公开,因此Qestion中的0将仍然影响页面上的所有表单。另一种方法是在
$form上循环。每个
然后在该循环中缓存实例,并在操作的instancecontext上初始化插件,这是不起作用的。不过,很好地解释美元(这个)谢谢+1。很抱歉这更多的是关于ajaxform rathe