我的文件中有以下代码,用于从AJAX调用中加载带有HTML的div:
$('#searchButton').click( function() {
$('#inquiry').load('/search.php?pid=' + $('#searchValue').val());
});
这在Firefox和谷歌浏览器中运行良好,但每当我在IE中进行搜索时,我都会被重定向回index.php。我从Firebug抓取了URL并将其粘贴到IE中,没有重定向,我只是得到了应该返回的输出。
我也尝试将其更改为$ .get()请求和完整的$ .ajax()请求,但仍然是相同的重定向。
答案 0 :(得分:2)
IE处理默认事件的方式不同(也要注意在文本字段中输入)。 IE正在导致一些默认事件处理程序触发。如果searchButton是HREF为“”的链接,它将重新加载当前页面。您可以尝试将href设置为“javascript:void(0)”或执行以下操作:
$('#searchButton').click( function(e) {
$('#inquiry').load('/search.php?pid=' + $('#searchValue').val());
e.preventDefault();
});
答案 1 :(得分:1)
更有趣。我有输入文本和按钮以这种形式包装:
<form onSubmit="return false;">
[HTML]
</form>
和IE似乎忽略了返回false。我尝试将jQuery函数修改为像Steve一样,但它仍然正在刷新。
我删除了表单标记并负责处理。
答案 2 :(得分:0)
将表单的action属性设置为javascript函数(例如您的搜索处理函数)或“return false”
当您点击
时,MSIE正在触发表单操作答案 3 :(得分:0)
您的函数应返回false以阻止按钮的提交操作。我不知道jQuery如何处理它。
答案 4 :(得分:0)
你应该像跟随方式一样防止违约..
var searchbutton = $('#searchButton');
var inquirysearchvalue = $('#inquiry').load('/search.php?pid=' + $('#searchValue');
searchbutton.click( function(e) {
inquirysearchvalue.val());
e.preventDefault();
});