Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2009, 19:21
Аспирант
Отправить личное сообщение для prog90 Посмотреть профиль Найти все сообщения от prog90
 
Регистрация: 04.06.2009
Сообщений: 51

Перезагружается страница
Здравствуйте,
Почему не работает такой код? Вроде все правильно - но страница перезагружается и текст не выводится

<html>
<head>
<script type="text/javascript" src="XHConn.js"></script>
<script>
<!-- hide
function fnWhenDone(oXML) {
document.mes.innerHTML = oXML.responseText;
}
function sub() {
myConn = new XHConn();
myConn.connect('mes/go', 'POST', 'id='+parseInt(document.myform.text), fnWhenDone);
}
// -->
</script>
</head>
<body>
<form name="myform" onSubmit="return sub()">
<input name="text">
<input type="submit" value="Submit">
</form>

<div id="mes">
</div>
</body>
</html>

Последний раз редактировалось prog90, 08.06.2009 в 19:51.
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2009, 19:27
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

return false; в конце обработчика события предотвращает стандартную обработку события
Ответить с цитированием
  #3 (permalink)  
Старый 08.06.2009, 19:27
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Для события формы onsubmit нужно выполнить preventDefault.
Ответить с цитированием
  #4 (permalink)  
Старый 08.06.2009, 20:15
Аспирант
Отправить личное сообщение для prog90 Посмотреть профиль Найти все сообщения от prog90
 
Регистрация: 04.06.2009
Сообщений: 51

Сообщение от Octane Посмотреть сообщение
Для события формы onsubmit нужно выполнить preventDefault.
Сделал так(preventDefault) - все равно перезагружается.

<html>
<head>
<script type="text/javascript" src="XHConn.js"></script>
<script>
<!-- hide
function fnWhenDone(oXML) {
document.mes.innerHTML = oXML.responseText;
}
function subm(evt) {
myConn = new XHConn();
myConn.connect('mes/go', 'POST', 'id='+parseInt(document.textform.text), fnWhenDone);
evt.preventDefault();
}
//-->
</script>
</head>
<body>
<form name="textform" onSubmit="subm()">
<input name="text">
<input type="submit" value="Submit">
</form>

<div id="mes">
</div>
</body>
</html>

Последний раз редактировалось prog90, 08.06.2009 в 20:20.
Ответить с цитированием
  #5 (permalink)  
Старый 08.06.2009, 20:48
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

только в IE подругому preventDefault выполнятеся http://javascript.ru/tutorial/events...po-umolchaniyu
Ответить с цитированием
  #6 (permalink)  
Старый 08.06.2009, 21:06
Аспирант
Отправить личное сообщение для prog90 Посмотреть профиль Найти все сообщения от prog90
 
Регистрация: 04.06.2009
Сообщений: 51

Сообщение от Octane Посмотреть сообщение
только в IE подругому preventDefault выполнятеся http://javascript.ru/tutorial/events...po-umolchaniyu
У меня опера.
Не работает никак. Все равно перезагружается. Хоть и переписал как в учебнике по ссылке:

window.event.preventDefault();
Ответить с цитированием
  #7 (permalink)  
Старый 08.06.2009, 21:19
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

да, блин
чем плох return false?
или я чего-то о нем не знаю, чем он хуже preventDefault ?
Ответить с цитированием
  #8 (permalink)  
Старый 08.06.2009, 21:26
Аспирант
Отправить личное сообщение для prog90 Посмотреть профиль Найти все сообщения от prog90
 
Регистрация: 04.06.2009
Сообщений: 51

Сообщение от Gvozd Посмотреть сообщение
да, блин
чем плох return false?
или я чего-то о нем не знаю, чем он хуже preventDefault ?
Исправил - написал return false в конце функции sub(). Все равно страница перезагружается.
Ответить с цитированием
  #9 (permalink)  
Старый 08.06.2009, 21:39
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

а надо не в конче функции, а в конце обработчика события:
<form name="textform" onSubmit="subm();return false;">

PS используйте BB-код для оформления своих сообщений с программным кодом
Ответить с цитированием
  #10 (permalink)  
Старый 08.06.2009, 21:51
Аспирант
Отправить личное сообщение для prog90 Посмотреть профиль Найти все сообщения от prog90
 
Регистрация: 04.06.2009
Сообщений: 51

Написал как вы сказали, но все равно страница перезагружается...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
страница "на лету" Лесной_Белк Events/DOM/Window 4 18.05.2009 08:57
доступ к фрейму, в котором открыта страница из чужого домена SkyN Общие вопросы Javascript 2 02.02.2009 16:50
Помогите, страница работает толька в FF OlexandrI jQuery 1 29.12.2008 23:01
При первой загрузке сайта другая страница. XenOS Общие вопросы Javascript 2 15.12.2008 00:27
Прогрузилась ли вся страница? chtopor Events/DOM/Window 10 03.11.2008 19:09