Не получается вернуть false
Захотел попробовать воспользоваться "ненавязчивым Javascript", как говорится. То есть обработчик повесить абсолютно отдельно от кода. Пример. Сделал в тестовом скрипте форму, два поля, кнопка Submit. Подключил jQuery, написал обработчик на событие submit формы testform (В исходном коде страницы по ссылке все видно). В конце функции return false, но почему-то страница все равно перезагружается. И у меня ВСЕГДА такая фигня. Однажды мне посоветовали вешать onClick="return submit();" (submit() - не событие, а собственная функция) в кнопке на форме и return false в функции, только так у меня с тех пор и работает. Но хотелось бы поудобнее это сделать, да и по красивее, а не получается.
|
Ты пытаешся типо форму по ajax передать, угаваривая браузер необновлять страницу ?
Боюсь такая халтура не прокатит ) Насколько я знаю из сабмит можно только передачу формы запретить. Для ajax попробуй jform Это урок это примеры сам плагин http://umihelp.ru/wp-content/uploads...query.form_.js |
на данной стадии я на аякс плевал) в примере просто хочу, чтобы по сабмиту из формы брались все значения и вставлялись перед формой. Я огромную кучу подобных примеров в инете видел, кстати.
|
Ну тогда ваш код в студию.
return false должен запретить отправку данных, соответственно и страница не должна обновлятся. |
Цитата:
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <style type="text/css"> </style> <script type="text/javascript"> $(document).ready(function (){ $('#frm :submit').click(function (){ $('#frm :text').each(function (){ $('#container').append('<p>'+$(this).val()+'</p>') }) return false }) }) </script> </head> <body> <div id='container'></div> <form id='frm'> <input type='text' /> <input type='text' /> <input type='submit' value='Go' /> </form> </body> </html> </body> </html> |
Это событие клик а не сабмит. Хотя для решения задачи этого выше крыши.
|
код:
$(function() { $("form#testform").submit(function() { var name = $(this)[0].val(); var text = $(this)[1].val(); $("h1").insertBefore(this).html(name); $("p").insertBefore(this).html(text); return false; }); }); хочу, чтобы работало так. Ну или по click'у по сабмиту. |
Цитата:
Полные примеры осилишь сделать? |
Цитата:
$(document).ready(function (){ $('#frm').submit(function (){ $('#frm :text').each(function (){ $('#container').append('<p>'+$(this).val()+'</p>') }) return false }) }) |
Цитата:
Додумался сейчас открыть Dragonfly и руками вызвать сабмит. Говорит, что неправильно обращаюсь к элементам формы. Но мне хочется не по имени обращаться отдельно от формы, а именно $(this).указатель_на_объект_фо мы. Потому что если обращаться по имени элемента, то можно на многое напороться. Вобщем хочу написать что-то типа универсального обработчика... |
Часовой пояс GMT +3, время: 19:25. |