Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите разобраться...  (Прочитано 13440 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
Razor
Помогающий

ru
Offline Offline
Пол: Мужской

« : 07-09-2008 22:03 » new

Всех привествую!
Прошу прощения, если эта тема уже обсуждалась на форуме. В Ява скрипте ведь можно использовать ковычки двойные и одинарные, причем одинарные должны быть использованы внутри двойных и наоборот (и так вроде бы до бесконечности можно)?
Почему тогда следующий код не работает, может кто-нибудь скажет?(
Код:
document.write('<input type="button" onClick="alert('ALARM!!!');" value="Отправить!"');
//если убрать строку 'ALARM!!!' то все заработает, т.е. все портят именно вторые одинарные кавычки(
Может быть я насчет использования ковычек не прав? Это ведь скорее всего особенности метода .write().
Жду Ваши мысли по этому поводу, господа.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 07-09-2008 22:42 » 

Razor, первые пол поста - прав, а вторые пол поста - не прав. Ибо они не согласуются.

Вот возможные варианты решения:
Код: (Javascript)
document.write('<input type="button" onClick="alert(\'ALARM!!!\');" value="Отправить!"');

document.write('<input type="button" onClick="alert(' + "'ALARM!!!'" + ');" value="Отправить!"');
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #2 : 08-09-2008 10:15 » 

Razor, чуть не по теме вопроса, но всё же.
Не стоит использовать document.write, ибо устаревшее и может привести к самым неожиданным проблемам.
Более правильно:
Код: (Javascript)
document.getElementById('куда_писать').innerHTML = '<input type="button" onclick="alert(\'ALARM!!!\');" value="Отправить!" />';
« Последнее редактирование: 08-09-2008 10:16 от Шильгия » Записан
Razor
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 08-09-2008 20:47 » 

RXL, спасибо большое, а в кратце можешь объяснить почему такая ошибка возникает? Нуу... т.е. выходит перед вторыми повторяющимися кавычками нужно "\" ставить?

Шильгия, огромное спасибо за стремление не только помочь, но и пополнить мой багаж знаний 0:)
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 09-09-2008 04:13 » 

Razor, вроде все намеки и примеры даны...

Начав строку с кавычки ты ею и заканчиваешь строку, а что внутри - просто символы, за исключением бекслешей ("\") и кавычек того же типа - их надо предварять бекслешем.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Razor
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 09-09-2008 07:37 » 

ааа...точно как же я не додумался(
спасибо еще раз
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 09-11-2008 17:05 » 

Цитата: Шильгия
Не стоит использовать document.write...
Более правильно:
document.getElementById('куда_писать').innerHTML...
innerHTML тоже не стоит использовать, ибо не везде работает. Ещё более правильно создать нужный node и добавить в children выбранного элемента.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Chuda
Гость
« Ответ #7 : 11-11-2008 18:28 » 


innerHTML тоже не стоит использовать, ибо не везде работает.

Опа! А можно об этом поподробнее? Где могут ждать косяки?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 12-11-2008 11:19 » 

Шильгия, в стандарте HTML я такого свойства не видел. В Mozilla Firefox 2.x оно у меня не работало. В MSDN написано "There is no public standard that applies to this property."
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 12-11-2008 11:44 » 

dimka, крайне странно, при том, что много лет существует и работает в IE, Mozilla и Opera...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #10 : 13-11-2008 00:47 » 

в ФФ2 значит другая проблема была.
Я это свойство использую ещё с тех времён, когда ФФ даже в проекте не было.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines