Ответ 1
Переменная event
в вашем коде не инициализируется.
extract:
$('#ajaxsearch').click(function(event) {
// Stop the Search input reloading the page by preventing its default action
event.preventDefault();
Это своего рода подобный дубликат для некоторых других здесь, но я думаю, что в этом случае я правильно использую event.preventDefault()
.
Здесь JSFiddle вы можете увидеть код с помощью: http://jsfiddle.net/SeEw2/2/
В принципе, нажмите кнопку "Отправить".
В Chrome: Ничего не происходит - правильный ответ.
В Firefox: перезагрузка страницы, oh noes!
Итак, почему перезагрузка страницы в Firefox, а не в Chrome? Я был Firebugging, и никаких ошибок не возникало ни в...
Переменная event
в вашем коде не инициализируется.
extract:
$('#ajaxsearch').click(function(event) {
// Stop the Search input reloading the page by preventing its default action
event.preventDefault();
А у меня была аналогичная проблема в прошлом. Вместо event.preventDefault() попробуйте передать событие:
function ie8SafePreventEvent(e){
if(e.preventDefault){ e.preventDefault()}
else{e.stop()};
e.returnValue = false;
e.stopPropagation();
}
Я знаю, что он говорит IE, но у меня никогда не было проблемы с ним, так как =]
Поскольку вы не передаете объект события, например function(event)
, но мой вопрос в том, почему даже пройти все это, когда вы можете сделать type="button"
и onclick передать значения? По сути, что вы делаете с этим целым процессом.
Вместо того, чтобы искать событие click на кнопке submit, почему бы не использовать $(form).submit handler?
Пока у вас есть "return false" в конце обработчика, страница не перезагружается.
Я решил это так, потому что мой код немного отличается, это может быть полезно для других людей. Мой первоначальный код выглядел следующим образом.
<form id="enrollstudentform" onsubmit="return enrollStudents()">
...
</form>
Моя функция js выглядела как
function enrollStudents() {
// Stop Form.
event.preventDefault();
// Other code
}
Мне пришлось передать событие параметра в вызове функции и получить его в функции.
<form id="enrollstudentform" onsubmit="return enrollStudents(event)">
...
</form>
js code:
function enrollStudents(event) {
// Stop Form.
event.preventDefault();
// Other code
}
Надеюсь, это поможет.