Не работает "return false" если обращаюсь к нему из присоединенного файла.
Есть форма, через которую я ввожу данные (работа с БД).
Всё работает. Для того, чтобы страница не перезагружалась, добавил в html (пока набрасывал пример) $("#myForm").submit(function() { return false;}); Работает. Как только я выношу этот Javascript во внешний файл js (и все остальные js файлs обмена с БД) - всё работает, НО не работает указанная выше строчка, т.е. выбрасывает меня на страницу моего скрипта php. Оставлять код в html-е не комильфо. В чём может быть дело? |
ice99,
Заключить строку в файле в $(function(){ } Файл грузить после загрузки jQuery |
Цитата:
Странно. Конструкция $(function(){ $("#myForm").submit(function() { return false;}); } отказывается работать, даже будучи интегрированной в html. Может дело в синтаксисе? |
ice99,
может jQuery ещё не подгружена? |
Цитата:
Вот весь мой код. Всё работает внутри страницы, а если выношу в отдельный файл - не работает отмеченная строка. <script> function GetValue() { $.ajax({ url: 'get_temperature.php', dataType: 'json' }).done( function (data) { document.getElementById("anchor_left_1_1_hotspot").innerHTML = "открыт на "+data+"%"; }); } $("#sub").click(function(){ $.post($("#myForm").attr("action"), $("#myForm :input").serializeArray(), function(info){$("#result").html(info);}); GetValue(); }); $("#myForm").submit(function() {return false;}); // ВОТ ЭТА СТРОКА НЕ РАБОТАЕТ, ЕСЛИ ВЫНЕСТИ ЕЁ В ОТДЕЛЬНЫЙ ФАЙЛ function clearInput() { $("#myForm :input").each( function() { $(this).val(''); });} </script> |
ice99,
попробуйте через event отменить $("#myForm").submit(function(event) {event.preventDefault()}); |
Разобрался.
Указанная строка работает (из присоединенного файла)только если завернуть её в $(document).ready(function() { } Может это и основы, но я как новичок не сразу дошел. |
Цитата:
$(document).ready(function() { } это тоже что $(function(){ |
Цитата:
$(function(){$("#myForm").submit(function() { return false; });}); Работает. Наверное запутался в секвенции скобок. |
Часовой пояс GMT +3, время: 22:59. |