[英]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.