Поблема с 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);
}
Заранее благодарен!!! |
проблема в данном случае не в том, что этот коде не работает в мозилле, а втом, что он работает в осле
вкратце осел выносит в глобальную область видимоти ХТМЛ-теги согласно их имени. если не ошибаюсь опера еще этим страдает. а в мозилле этого нет, и незачем. вам же советую переписать код под использование ID-шников и document.getElementById() соответственно тогда он будет работать везде |
Указание элементу id в нормальных браузерах не создает переменную в JS.
|
Цитата:
а выносить заранее в глобальную область видимости сразу кучу элементов, нету нужды, и в определенных случаях даже вредно, ибо засирает глобальную область видимости. а потом выплывают глюки, что нужно прочитать весь кусок ХТМЛ, прежде разберешся, кто там пересекается по имени с твоими переменными |
Спасибо Всем за ответ!!!
Решилось изменением str1.value на document.mainForm.str1.value и str2.value на document.mainForm.str2.value |
| Часовой пояс GMT +3, время: 18:50. |