Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2009, 11:56
Новичок на форуме
Отправить личное сообщение для unkis Посмотреть профиль Найти все сообщения от unkis
 
Регистрация: 05.06.2009
Сообщений: 4

Enter в текстовом поле
Нужно следующее:
при фокусе в текстовом поле и нажатии Enter перезагружается страница. Можно ли это запретить для некоторых или всех текстовых полей?

Ответ да, можно. только проблема в том что если есть форма с hidden полем с именем event


<input id="hiddenEvent" type="hidden" name="event" value="setzen" />



то весь ниже приведённый код отказывается работать именно в IE, в FirеFox работает все без проблем.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>


<script type="text/javascript">
	function clickButton(e, buttonid)
	{
			alert("e is: "+e.keyCode);
			var evt = e ? e : window.event;
			var bt = document.getElementById(buttonid);
			if (bt)
			{
				if (evt.keyCode == 13)
			{
				alert("evt.keyCode is: "+evt.keyCode);
				return false;
			}
		}
	}
</script>
</head>
<body>
	<form action="Pinboardueber.po" method="post" id="wochenEingabe">
		<input id="hiddenEvent" type="hidden" name="event" value="setzen" />	
		<table class="text_gross_fett">
			<tr>
				<td>Week</td>
				<td style="width: 40px">
					<input onkeypress="return clickButton(event,'suchenButton')" maxlength="2" type="text" id="KwInput" name="Kw" style="width: 100%">
				</td>
				<td>
					Year
				</td>
				<td style="width: 40px">
					<input maxlength="4" onkeypress="clickButton(event,'suchenButton')" class="text" type="text" id="JahrInput" value="2009" name="Jahr" style="width: 100%">
				</td>
				<td align="center" style="width: 80px">
					<input class="text" id="suchenButton" type="submit" name="suchen" value="Suchen" />
				</td>
			</tr>
		</table>	
	</form>
</body>
</html>


Вот и вопрос, как этот код можно поправить не трогая hidden поля с именем event?
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2009, 12:41
Аватар для Snowcore
Аспирант
Отправить личное сообщение для Snowcore Посмотреть профиль Найти все сообщения от Snowcore
 
Регистрация: 02.06.2009
Сообщений: 92

Это происходит из-за того, что при нажатии Enter отрабатывает submit формы.
Можете для формы просто задать

onsubmit="return false"
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2009, 13:01
Новичок на форуме
Отправить личное сообщение для unkis Посмотреть профиль Найти все сообщения от unkis
 
Регистрация: 05.06.2009
Сообщений: 4

к сожалению так сделать нельзя, так как форма должна отрабатывать submit

Будут ли ещё какие-нибудь идеи
Ответить с цитированием
  #4 (permalink)  
Старый 07.07.2009, 13:06
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от unkis
так как форма должна отрабатывать submit
она и так будет его отрабатывать.
Ответить с цитированием
  #5 (permalink)  
Старый 07.07.2009, 13:31
Интересующийся
Отправить личное сообщение для Леонид Евстигнеев Посмотреть профиль Найти все сообщения от Леонид Евстигнеев
 
Регистрация: 27.05.2009
Сообщений: 14

Проблема в том, что в IE у тебя в функцию попадает твой input с именем event. Лучший вариант переименовать скрытое поле, но если это нельзя тогда делай проверку на наличие-отсутствие характерного поля.
Например, так:
var evt = (e && e.name==undefined) ? e : window.event;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поле загрузки файла. как опусташить? clgs Элементы интерфейса 1 26.06.2009 14:46
Сделать текстовое поле активным battrack1 Общие вопросы Javascript 3 11.06.2009 17:21
Изменение текста слоя по изменениям в текстовом поле Воитель Общие вопросы Javascript 4 21.10.2008 11:03
Как запретить submit при пустом текстовом поле? Bad Request Events/DOM/Window 5 05.10.2008 15:40
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 13:36