jquery没有进入下一页
我有jQuery,但它不会进入下一页,它总是显示图像并等待,永远不会进入下一页。
HTML代码:
<div id="toHide" class="pb-text-align-center">
<img style="display: inline" src="img/load.gif" />
<form wicket:id="safeForm" class="clearfix">
<input type="hidden" wicket:id="submitted" value="false" />
</form>
</div>
HTML查看来源:
<SCRIPT type="text/javascript">
var $ = jQuery.noConflict();
$('.toHide').show().doTimeout(100,function() {
$('.toHide').find('safeForma3').submit();});
</SCRIPT>
检票代码:
static private class SafeSubmitBehaviour extends AbstractBehavior{
public void onRendered( Component component ) {
super.onRendered( component );
StringBuffer buffer = new StringBuffer(200);
buffer.append("<script type="text/javascript" >n");
buffer.append("var $ = jQuery.noConflict();n ");
buffer.append(" $('.toHide').show().doTimeout(100,function() { $('.toHide').find('");
buffer.append(component.getMarkupId()).append("').submit();});n</script>");
component.getResponse().write(buffer);
}
}
buffer.append(component.getMarkupId()).append("').submit();});n</script>");
我试过:$('。toHide')。find('form')。submit();});. 但仍然没有用。
将$('。toHide')转换为$('#toHide')之后,页面将进入下一页,但动画不会在IE6 / 7中发生,它在FF中可以正常工作。
我想你应该试试这个:
$('#toHide').find('form').submit();
或者,如果表单上有一个ID(我对Wicket不熟悉),则可以使用:
$('#safeForm').submit();
ID选择器使用'#'字符,而不是'。',它是类别选择器前缀。
“toHide” <div>
具有该字符串,因为它是id值,而不是类,所以您需要:
$('#toHide')
选择器“.toHide”寻找具有“toHide”作为类的一部分的元素,所以根本找不到你的<div>
。
要找到表单,您可以使用
$('#toHide form').submit();
在HTML中没有名为“safeForm15”的id,这是您的setTimeout试图选择的内容。 实际上,表单具有ID命名空间,我认为这是非法的。
无论如何,快速解决方案是提示'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");
链接地址: http://www.djcxy.com/p/59029.html
上一篇: jquery not proceeding to next page
下一篇: setTimeout giving a 'result of expression is not a function' error