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

HTML+CSS+JavaScript

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

 

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

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

тема: Отметить все чекбоксы (ошибка валидатора)
 
 автор: max_ivanov   (19.03.2010 в 20:45)   письмо автору
 
 

Помогите исправить ошибку xhtml в ява скрипте
1 код
<?
echo '<input type="checkbox" name="all" onchange="for (i in this.form.elements) this.form.elements[i].checked = this.checked" /> <b>Отметить все</b>';

тут ошибки xhtml нету, но этот код работает только в опере

2 код
<?
echo '<input type="checkbox" name="all" onclick="var o=this.form.elements;for(var i=0;i<o.length;i++)if(o[i].type=\'checkbox\')o[i].checked=this.checked" /> <b>Отметить все</b>';


этот код работает и с IE и в опере, но валидатор http://validator.w3.org/check показывает что тут где-то ошибка
как ее исправить

  Ответить  
 
 автор: mikha   (20.03.2010 в 17:30)   письмо автору
 
   для: max_ivanov   (19.03.2010 в 20:45)
 

может </b> , попробуй <\/b>
но у тебя там и там оно есть

  Ответить  
 
 автор: Lelik   (20.03.2010 в 18:10)   письмо автору
 
   для: mikha   (20.03.2010 в 17:30)
 

и вместо <b> - <strong></strong>

  Ответить  
 
 автор: Max_Ivanov   (20.03.2010 в 20:50)   письмо автору
 
   для: Lelik   (20.03.2010 в 18:10)
 

нет проблема не в этом, тем более в 1 варианте есть теги <b>
мне кажется я нашел ошибку но сомневаюсь что это правильно
валидатор выдавал вот такое предупреждение

 Line 23, Column 973: character "<" is the first character of a delimiter but occurred as data 
…var o=this.form.elements;for(var i=0;i<o.length;i++)if(o[i].type='checkbox')o[…

This message may appear in several cases: 
You tried to include the "<" character in your page: you should escape it as "&lt;"
You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&amp;", which is always safe.
Another possibility is that you forgot to close quotes in a previous tag.


я заменил < на &lt; и ошибка пропала и код вроде бы работает, неужели так можно делать?

<?
echo '<input type="checkbox" name="all" onclick="var o=this.form.elements;for(var i=0;i&lt;o.length;i++)if(o[i].type=\'checkbox\')o[i].checked=this.checked" /> <b>Отметить все</b>';

  Ответить  
 
 автор: mikha   (21.03.2010 в 02:38)   письмо автору
 
   для: mikha   (20.03.2010 в 17:30)
 

Вот пропирушник)) Оправдывает только то, что среди ночи и устал как собака
Хотя нет, не оправдывает((

  Ответить  
Rambler's Top100
вверх

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