2008-10-07 1 views
4

У меня есть следующий код в моем файле, чтобы загрузить DIV с HTML из вызова AJAX:IE 7 перенаправления после того, как JQuery AJAX звонки

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

Это отлично работает в Firefox и Google Chrome, но всякий раз, когда я делаю поиск в IE. Я перенаправляюсь обратно в index.php. Я схватил URL-адрес от Firebug и вставил его в IE, и никакого перенаправления не происходит, я просто получаю вывод, который должен быть возвращен.

Я также попытался изменить его на запрос $ .get() и полный запрос $ .ajax(), но все тот же перенаправление.

ответ

1

Больше удовольствия. У меня есть текст ввода и кнопка, завернутый в таком виде:

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

и IE, кажется, не обращая внимания на возвращении ЛОЖЬ. Я пробовал модифицировать функцию jQuery, чтобы быть похожим на Steve's, но она все еще была непроницаемой.

Я удалил теги формы и позаботился об этом.

+0

По крайней мере, в XHTML это строчная 'onsubmit'. Кроме того, лучше сделать это с помощью javascript - см. Ответ Стива. Кроме того, удаление тегов формы приводит к недействительному HTML. Это плохо. – ThiefMaster

2

IE Управляет событиями по умолчанию по-разному (также остерегайтесь попадания в текстовое поле). IE вызывает запуск обработчика событий по умолчанию. Если searchButton - это ссылка на HREF, это перезагружает текущую страницу. Вы можете попробовать установить HREF в "JavaScript: недействительным (0)" или сделать что-то вроде:

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

установить атрибут действия вида на яваскрипта функции (например, ваша функция обработки поиска) или «вернуться ложным»

MSIE увольняет вид действия, когда вы нажмете ввести

+0

ummm .... action = "javascript: foo();" – Sugendran

0

Ваша функция должна возвращать ложь чтобы предотвратить подачу действия кнопки. Я не знаю, как это работает jQuery.

0

Вы должны предотвратить дефолт, как последующие пути ..

var searchbutton = $('#searchButton'); 
var inquirysearchvalue = $('#inquiry').load('/search.php?pid=' + $('#searchValue'); 

searchbutton.click(function(e) { 
    inquirysearchvalue.val()); 
    e.preventDefault(); 
});