Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.09.2011, 14:09
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

Не получается вернуть false
Захотел попробовать воспользоваться "ненавязчивым Javascript", как говорится. То есть обработчик повесить абсолютно отдельно от кода. Пример. Сделал в тестовом скрипте форму, два поля, кнопка Submit. Подключил jQuery, написал обработчик на событие submit формы testform (В исходном коде страницы по ссылке все видно). В конце функции return false, но почему-то страница все равно перезагружается. И у меня ВСЕГДА такая фигня. Однажды мне посоветовали вешать onClick="return submit();" (submit() - не событие, а собственная функция) в кнопке на форме и return false в функции, только так у меня с тех пор и работает. Но хотелось бы поудобнее это сделать, да и по красивее, а не получается.

Последний раз редактировалось SkaN, 29.09.2011 в 14:29.
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2011, 14:34
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Ты пытаешся типо форму по ajax передать, угаваривая браузер необновлять страницу ?
Боюсь такая халтура не прокатит )
Насколько я знаю из сабмит можно только передачу формы запретить.

Для ajax попробуй jform

Это урок
это примеры
сам плагин http://umihelp.ru/wp-content/uploads...query.form_.js
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 29.09.2011 в 14:40.
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2011, 14:42
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

на данной стадии я на аякс плевал) в примере просто хочу, чтобы по сабмиту из формы брались все значения и вставлялись перед формой. Я огромную кучу подобных примеров в инете видел, кстати.
Ответить с цитированием
  #4 (permalink)  
Старый 29.09.2011, 14:47
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Ну тогда ваш код в студию.
return false должен запретить отправку данных, соответственно и страница не должна обновлятся.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #5 (permalink)  
Старый 29.09.2011, 14:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от SkaN
Не получается вернуть false
Смотря как делаешь...

Сообщение от SkaN
хочу, чтобы по сабмиту из формы брались все значения и вставлялись перед формой
Как вариант...

<!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>
Ответить с цитированием
  #6 (permalink)  
Старый 29.09.2011, 15:01
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Это событие клик а не сабмит. Хотя для решения задачи этого выше крыши.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #7 (permalink)  
Старый 29.09.2011, 15:06
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

код:
$(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'у по сабмиту.
Ответить с цитированием
  #8 (permalink)  
Старый 29.09.2011, 15:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от SkaN
хочу, чтобы работало так.
А оно не работает?

Полные примеры осилишь сделать?
Ответить с цитированием
  #9 (permalink)  
Старый 29.09.2011, 15:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от DjDiablo
Это событие клик а не сабмит.
Лёгким движением руки брюки превращаются в оригинальные шорты... (с)

$(document).ready(function (){
	$('#frm').submit(function (){
		$('#frm :text').each(function (){
			$('#container').append('<p>'+$(this).val()+'</p>')
		})
		return false
	})
})
Ответить с цитированием
  #10 (permalink)  
Старый 29.09.2011, 15:39
Аспирант
Отправить личное сообщение для SkaN Посмотреть профиль Найти все сообщения от SkaN
 
Регистрация: 27.08.2011
Сообщений: 50

Сообщение от ksa Посмотреть сообщение
Полные примеры осилишь сделать?
пфф, извините, конечно. Будет желание и время - будут очень хорошие примеры. Желание есть, но проблема только в нерабочести.
Додумался сейчас открыть Dragonfly и руками вызвать сабмит. Говорит, что неправильно обращаюсь к элементам формы. Но мне хочется не по имени обращаться отдельно от формы, а именно $(this).указатель_на_объект_фо мы. Потому что если обращаться по имени элемента, то можно на многое напороться. Вобщем хочу написать что-то типа универсального обработчика...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ресайз элементов, как?код есть но не работает Александр х@к Элементы интерфейса 4 03.09.2011 17:00
Ресайз элемента, div-блока Magneto Элементы интерфейса 1 01.09.2011 01:15
Не получается вернуть в родительское окно значение из нескольких строк javascript_pupil Общие вопросы Javascript 8 28.11.2010 18:14
Можно ли вернуть false "через вторую функцию" ? nicholas Events/DOM/Window 1 05.10.2010 02:09
Функция не возвращает false, почему? Vitaly jQuery 3 05.07.2009 16:05