Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не получается понять ошибку =( 
:(
    Опции темы
BASILIO
Дата 6.6.2008, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Вот такой простенький кусок, смысл удаление первоначального значения, но так чтоб потом не удалялось всё если человек надумает исправить. Вот мой код:

Код

<INPUT type="text" name="frcy" value="City" onFocus='javascript:if(zyx != 1){this.value = ""; var zyx = 1;}'>

PM   Вверх
IDVsbruck
Дата 6.6.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



А ошибка какая?

- onfocus, а не onFocus
- в обработчике не дужна директива "javascript:"
- зачем сначала проверять переменную, а затем создавать новую в теле? - это разные переменные, вторая удаляется при выходе из обработчика, надо создать глобальную и убрать у внутренней var
PM MAIL   Вверх
BASILIO
Дата 6.6.2008, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Цитата(IDVsbruck @  6.6.2008,  23:18 Найти цитируемый пост)
- onfocus, а не onFocus

Если писать без IFа, проходит, не в этом проблема


Цитата(IDVsbruck @  6.6.2008,  23:18 Найти цитируемый пост)
- в обработчике не дужна директива "javascript:"

Странно, раньше не работало, могу правда с чем-нибудь путать, где можно глянуть конкретно данный пункт?



Цитата(IDVsbruck @  6.6.2008,  23:18 Найти цитируемый пост)
- зачем сначала проверять переменную, а затем создавать новую в теле? - это разные переменные, вторая удаляется при выходе из обработчика, надо создать глобальную и убрать у внутренней var 

1. А глобальную внутри неполучится создать?
2. Если нет, в каком отсеке должен быть скрипт создания в HEAD или BODY?
3. Её можно будет из обрабочика вызвать?



Спасибо


Это сообщение отредактировал(а) BASILIO - 7.6.2008, 00:52
PM   Вверх
Ghirik
Дата 7.6.2008, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Цитата

Если писать без IFа, проходит, не в этом проблема


Собственно, Вам указали на onFocus, не для того чтобы прошло. А чтобы исключить возможное неправильное трактование интерпретатором этого атрибута. И чтобы в дальнейшем, не грешить на нарушение синтаксиса. JavaScript чуствителен к регистру символов.

Цитата

Странно, раньше не работало, могу правда с чем-нибудь путать, где можно глянуть конкретно данный пункт?


Когда Вы внутри тэга пишите onload, onclick, onfocus... и т.п., то это уже является JavaScript-ом. В HTML нет событий. Другое дело, например, параметр href тэга <a> и некоторых других. href - это чистый HTML, потому, если вы хотите запустить скрипт, то следует указать href:"javascript:....

Я бы зарисовал ваш случай так:
Код

<!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=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>Title block</title>
<script type="text/javascript">
<!--
var qwe = 0;
function init(obj) {
    if(qwe == 0) {
        obj.value = '';
        qwe = 1;
    }
}
//-->
</script>
</head>
<body>
<input type="text" name="frcy" value="City" onfocus="init(this)">
</body>
</html>


Названия тэгов, то же, следует писать маленькими буквами.




--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
BASILIO
Дата 13.6.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Цитата(Ghirik @  7.6.2008,  07:14 Найти цитируемый пост)
Я бы зарисовал ваш случай так:


А если инпутов много?

+

Можно этот скрипт писать в боди?
PM   Вверх
SelenIT
Дата 13.6.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(BASILIO @  6.6.2008,  22:53 Найти цитируемый пост)
смысл удаление первоначального значения, но так чтоб потом не удалялось всё если человек надумает исправить

Проверяйте равенство value (текущее значение) и defaultValue (первоначальное значение). Удаляйте, только если они равны.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
BASILIO
Дата 15.6.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



SelenIT, да тоже так решил сделать, в принцепе пофиг, если начальное равно тому что в итоге человеку нужно, впишит ещё раз =)
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.