jquery没有进入下一页
我有jquery,但它不会到下一页,它总是显示图像和等待,永远不会进入下一页。
HTML代码:
HTML查看源:
var $ = jQuery.noConflict(); $('.toHide').show().doTimeout(100,function() { $('.toHide').find('safeForma3').submit();});
检票代码:
static private class SafeSubmitBehaviour extends AbstractBehavior{ public void onRendered( Component component ) { super.onRendered( component ); StringBuffer buffer = new StringBuffer(200); buffer.append("\n"); buffer.append("var $ = jQuery.noConflict();\n "); buffer.append(" $('.toHide').show().doTimeout(100,function() { $('.toHide').find('"); buffer.append(component.getMarkupId()).append("').submit();});\n"); component.getResponse().write(buffer); } } buffer.append(component.getMarkupId()).append("').submit();});\n");
我尝试过:$(’。toHide’)。find(’form’)。submit();});. 但仍然没有用。
将$(’。toHide’)转换为$(’#toHide’)后,页面将进入下一页,但动画不会发生在IE6 / 7中,它在FF中运行正常。
我想你应该试试这个:
$('#toHide').find('form').submit();
或者,如果表单上有ID(我不熟悉Wicket),您可以使用:
$('#safeForm').submit();
ID选择器使用’#’字符,而不是’。’,它是类选择器前缀。
“toHide”
将该字符串作为其id值,而不是它的类,因此您需要:
$('#toHide')
选择器“.toHide”查找带有“toHide”的元素作为类的一部分,因此根本找不到您的
。
要查找表单,您可以使用
$('#toHide form').submit();
您的HTML中没有名为“safeForm15”的ID,这是您的setTimeout尝试选择的内容。 事实上,该表单具有ID namespaced,我认为这是非法的。
无论如何,快速修复是提示’toHide’,并摆脱component.getMarkupId位。
$('#toHide').find('form').submit();
添加:
你需要改变这个:
buffer.append(" setTimeout(function(){ $(\"#").append(component.getMarkupId()).append("\").submit()}, 100);\n");
对此:
buffer.append(" setTimeout(function(){$('#toHide').find('form').submit();}, 100);\n");
这是IE的一个问题,如果您有一个不可见的GIF,然后将其设置为可见,则动画不起作用。
最好的办法就是使用像这样的空图像标签,然后当你希望它变得可见时,将
src
设置为正确的路径,即 。
如果你这样做,它应该工作。
编辑
你可以这样做:
HTML代码:
尝试一下,可能想要一些摆弄。
其他人提到你的选择器的问题。
但是,此代码在两个script
标记之间也显示为裸。 这意味着它们将在解析后立即执行。 这意味着它们可以在加载整个DOM之前执行,从而使它们无效。
你需要使用这样的东西: