Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поблема с Firefox"ом (https://javascript.ru/forum/misc/2383-poblema-s-firefox-om.html)

lbvf911 18.12.2008 14:24

Поблема с Firefox"ом
 
Есть пример работающий в IE но неработающий в Firefox.

Проблема в передачи параметров функции. В FireFox работает когда указываеш this.value вместо str1.value.

Как можно решить данную проблему?

index.htm
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>Test"</title>
  <script src="demo.js" type="text/javascript" defer="defer"></script>
 </head>

     Test1:
        <input size="25" type="text" name="str1"
          onKeyUp="loadResult(str1.value, str2.value);"/>
     <br>
	 Test2:
        <input size="25" type="text" name="str2"
          onKeyUp="loadResult(str1.value, str2.value);"/>

 </body>
</html>


demo.js
function loadResult(s1, s2)
{
    alert("Test1: " + s1 + " Test2: " + s2);
}


Заранее благодарен!!!

Gvozd 18.12.2008 14:35

проблема в данном случае не в том, что этот коде не работает в мозилле, а втом, что он работает в осле
вкратце
осел выносит в глобальную область видимоти ХТМЛ-теги согласно их имени.
если не ошибаюсь опера еще этим страдает.
а в мозилле этого нет, и незачем.
вам же советую переписать код под использование ID-шников и document.getElementById() соответственно
тогда он будет работать везде

Kolyaj 18.12.2008 14:36

Указание элементу id в нормальных браузерах не создает переменную в JS.

Gvozd 18.12.2008 14:41

Цитата:

Сообщение от Kolyaj
Указание элементу id в нормальных браузерах не создает переменную в JS.

вот-вот.
а выносить заранее в глобальную область видимости сразу кучу элементов, нету нужды, и в определенных случаях даже вредно, ибо засирает глобальную область видимости.
а потом выплывают глюки, что нужно прочитать весь кусок ХТМЛ, прежде разберешся, кто там пересекается по имени с твоими переменными

lbvf911 18.12.2008 14:45

Спасибо Всем за ответ!!!

Решилось изменением
str1.value на document.mainForm.str1.value
и
str2.value на document.mainForm.str2.value


Часовой пояс GMT +3, время: 04:26.