[英]jQuery not refreshing tabs content in IE
我有一个使用jQuery标签的页面。 在我的一个标签中,我有一个div,其中包含一个表单(最初是隐藏的),我想使用该表单向该标签中添加内容。 我所拥有的功能可以在Chrome,Firefox和Safari中完美运行。 但是,在IE 7中,该标签不会刷新。 该帖子可以正常工作,并且数据已添加到数据库中,但是在提交新内容后,它根本不会显示新内容。
我认为这无关紧要-但是,仅出于信息目的,我也在使用Codeigniter PHP框架。
这是我的JavaScript:
<script type="text/javascript">
$(document).ready(function(){
// initialize the addChild form as hidden until user requests it open
$('#addChild').hide();
// open the form
$('#openDialog').click( function(){
$('#addChild').slideToggle();
return false;
});
// close the form
$('#closeDialog').click( function(){
$('#addChild').slideToggle();
return false;
});
// submit the form
$('#frmAddChild').submit( function(){
$('#addChild').slideToggle();
$.ajax({
url: '/children/add',
type: 'POST',
data: $('#frmAddChild').serialize()
//cache: false
});
//reload the children tab
$('#tabs').tabs('load',3);
return false;
});
});
</script>
而且,这是我的PHP / HTML:
<?php
// initialize the elements of the form
$frmAddChild = array(
'name' => 'frmAddChild',
'id' => 'frmAddChild',
'method' => 'post'
);
$child_name = array(
'name' => 'child_name',
'id' => 'child_name',
);
$child_dob = array(
'name' => 'child_dob',
'id' => 'child_dob'
);
$btnOpenDialog = array(
'name' => 'openDialog',
'id' => 'openDialog',
'value' => 'true',
'content' => 'Add Child'
);
$btnCloseDialog = array(
'name' => 'closeDialog',
'id' => 'closeDialog',
'value' => 'true',
'content' => 'Cancel'
);
// button that shows the drop down to add
echo form_button($btnOpenDialog);
?>
<div id="addChild" title="Add Child">
<?php echo form_open('children/add/',$frmAddChild); ?>
<table>
<tr>
<td>
<?php echo form_label('Child\'s Name', 'child_name'); ?>:
</td>
<td>
<?php echo form_input($child_name); ?>
</td>
</tr>
<tr>
<td>
<?php echo form_label('Date of Birth','child_dob'); ?>:
</td>
<td>
<?php echo form_input($child_dob); ?>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<?php echo form_submit('submit', 'Add'); ?>
<?php echo form_button($btnCloseDialog); ?>
</td>
</tr>
</table>
<?php echo form_close(); ?>
</div>
有谁知道如何使它在IE中正常工作? 另外,如果有人对我的组织结构有任何评论,请告诉我。 我是Codeigniter的新手,我绝对不是JavaScript或jQuery专家。
谢谢你的帮助!
我认为您应该在.ajax上进行扩展,并在AJAX调用中添加.success和.error状态。 参考此:
http://api.jquery.com/category/ajax/
将其添加为ajax流程的一部分,因为现在看来,单击“提交”将隐藏表单并重新加载选项卡,即使出现错误也是如此。
试试看,删除return false,看看会发生什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.