LINUX.ORG.RU
ФорумTalks

JavaScript, обработка «событий».


0

0

Обработка "событий" из "кода" выполняется в "Opera", но не в "Firefox" и "Konqueror".

Пример "страницы":

<HTML><HEAD></HEAD><BODY bgcolor=white>
<FORM>
<INPUT name="cbut" type="button" value="Change">
<INPUT name="t" type="text" value="jjj">
</FORM>
<SCRIPT type="text/javascript" language="JavaScript">
<!--

function cf()
{
document.forms[0].t.value="ddddd";
}

document.forms[0].elements[0].onclick="cf()";
//-->
</SCRIPT>
</BODY></HTML>


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

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

document.forms[0].elements[0].onclick=function(){cf();}

Либо явное преобразование типов:

document.forms[0].elements[0].onclick=Function("cf()")

anonymfus ★★★★
()
Ответ на: комментарий от anonymfus

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

Спасибо за совет.
Помогло.

>Стоп. Почему в Talks?


А куда ещё?
Это даже не PHP...

alias-10st
() автор топика
Ответ на: комментарий от mrxrrr

Да, давно пора туда руби встроить, что б не повадно было ☺

Deleted
()
Ответ на: комментарий от EmStudio

> мертвый

Даже если бы это было так, то это не повод сразу писать в Talks.

init ★★★★★
()

1) http://forum.ru-board.com/topic.cgi?forum=31&topic=14632

2) не противоречит - в Apple Safari тоже работать не будет (function(){cf()}; работает).

3) не противоречит - в офтоп ишаке тоже работать не будет (function(){cf()}; работает).

4) Лучше использовать jQuery - попереносимей будет

5) Малолетние trollis vulgaris типа mrxrrr-куна идут "кормиться" к лешему - хоть и не люблю я JS, но используется JS в интранет проектах достаточно широко.

Bioreactor ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.