Jquery 从ajaxform插件构造函数中选择标记using$(this)
注意:我的标题很差,如果你理解我的问题,请帮助我改进它 我所有的表格都使用提交。我能够通过编程成功地将反馈div添加到每个表单中。我只想在我的页面中选择当前表单。我正在使用以下代码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
$('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