Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: события для формы
 
 автор: AlexSol   (03.11.2006 в 14:44)   письмо автору
 
 

есть

<form method="post" name="myForm" >
<input name="a1" onFocus="if(this.value=='имя'){this.value=''}; " onBlur="if(this.value==''){this.value='имя'};" value='имя' >
</form>


возможно ли назначить события onFocus для поля ввода через скрипт?
тоесть оставить только

<input name="a1" value='имя' >


а действия на onFocus и onBlur прописать отдельно?

   
 
 автор: 12345   (03.11.2006 в 15:13)   письмо автору
 
   для: AlexSol   (03.11.2006 в 14:44)
 

Да, пишут или
(объект).событие=функция;
или
attachEvent // addEventListener (cм.док).

Второй вариант чем-то лучше, хотя дольше писать.

   
 
 автор: AlexSol   (03.11.2006 в 15:42)   письмо автору
 
   для: 12345   (03.11.2006 в 15:13)
 

попробовал. в опере работает оба метода, а в эксплорере не один :(

<html>
<head>
<title>DOM Event Examples</title>
<script>
// Event Registration Example
function l_func() {
    t2 = document.getElementById("t2");
    t2.innerHTML = "three";    
}
function load() {
    document.getElementById("t").addEventListener("click", l_func, false);
}
</script>
</head>
<body onload="load(); document.getElementById('btn').attachEvent('onclick', hurrah)">
<table id="t">
  <tr><td id="t1">one</td></tr>
  <tr><td><div id="t2">two</div></td></tr>
</table>
<SCRIPT>
function hurrah() {
  alert('Молодец!');
  event.srcElement.detachEvent('onclick', hurrah);
}
</SCRIPT>
<BUTTON id="btn">Нажми меня</BUTTON>
</body>
</html>

   
 
 автор: 12345   (03.11.2006 в 16:34)   письмо автору
 
   для: AlexSol   (03.11.2006 в 15:42)
 

Потому что addEventListener даёт ошибку в IE

Добавь if(document.addEventListener) перед document.getElementById("t").addEventListener

А вообще я использую такую функцию (пример без контекста):

<script>onload=function(){
  var ad,o=document.getElementById('d1'),p='';
  o[o[ad='addEventListener']?ad:(p='on','attachEvent')](p+'mouseover',F,!1);
}
F=function(){document.getElementById('d2').innerHTML+='+';}
</script>
А то далее у тебя attachEvent будет давать ошибку в FF

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования