代码之家  ›  专栏  ›  技术社区  ›  dragonmantank

jquery-ajax调用后的IE 7重定向

  •  4
  • dragonmantank  · 技术社区  · 17 年前

    我的文件中有以下代码,可以从Ajax调用中加载带有HTML的DIV:

    $('#searchButton').click( function() {
        $('#inquiry').load('/search.php?pid=' + $('#searchValue').val());
    });
    

    这在Firefox和Google Chrome中很有效,但是每当我在IE中搜索时,我都会被重定向回index.php。我从Firebug中获取URL并将其粘贴到IE中,没有发生重定向,我只得到应该返回的输出。

    我还尝试将其更改为$.get()请求和完整的$.ajax()请求,但仍然是相同的重定向。

    5 回复  |  直到 12 年前
        1
  •  2
  •   Steve g    17 年前

    IE以不同的方式处理默认事件(也要注意在文本字段中输入)。IE导致一些默认事件处理程序被触发。如果searchbutton是带有href of“”的链接,它将重新加载当前页面。您可以尝试将href设置为“javascript:void(0)”或执行以下操作:

    $('#searchButton').click( function(e) {
        $('#inquiry').load('/search.php?pid=' + $('#searchValue').val());
        e.preventDefault();
    });
    
        2
  •  1
  •   dragonmantank    17 年前

    更有趣。我将输入文本和按钮包装在此表单中:

    <form onSubmit="return false;">
    [HTML]
    </form>
    

    我似乎忽略了错误的回答。我尝试将jquery函数修改为类似于steve的函数,但它仍然令人耳目一新。

    我去掉了表格标签,就这样处理了。

        3
  •  0
  •   Sugendran    17 年前

    将表单的action属性设置为javascript函数(例如搜索处理函数)或“return false”

    当您点击Enter时,MSIE正在启动表单操作

        4
  •  0
  •   EndangeredMassa    17 年前

    您的函数应该返回false以防止按钮的提交操作。不过,我不知道jquery是如何处理这个问题的。

        5
  •  0
  •   user3586251    12 年前

    您应该防止默认值,如follow way.。

    var searchbutton = $('#searchButton');
    var inquirysearchvalue = $('#inquiry').load('/search.php?pid=' + $('#searchValue');
    
    searchbutton.click( function(e) {
        inquirysearchvalue.val());
        e.preventDefault();
    });
    
    推荐文章