繁体   English   中英

jQuery不刷新IE中的标签内容

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM