Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Скрипт не работает в Опере и ИЕ (https://javascript.ru/forum/css-html-browser/37038-skript-ne-rabotaet-v-opere-i-ie.html)

newbee 05.04.2013 12:57

Скрипт не работает в Опере и ИЕ
 
Добрый день. Пилю маленькую страничку-калькулятор. До сего момента работал в Хроме и Fierfox'е. там код работает. Когда открыл в опере функции не реагировали. В эксплорере то-же самое. Открыл инспектирование элементов в опере и запустил скрипт. Выдало это:
Unhandled Error: Undefined variable: osnova

Вот весь код:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<Title>Калькулятор расчёта таможенных операций</title>
</head>
<Body>

<script language="JavaScript">
function clr() {
	osnova.value='';
	stavka.value='';
	sbor.value='';
	st.value='';
	nds.value='';
}

 function umn() {
sbor.value='';
if (osnova.value == "" || stavka.value == ""){
osnova.style.border = "1px solid red";
stavka.style.border = "1px solid red";}
else if (osnova.value<=200000) {
sbor.value=500}
else if (osnova.value>200000 && osnova.value<=450000) {
	sbor.value=1000}
	else if (osnova.value>450000 && osnova.value<=1200000) {
		sbor.value=2000}
		else if (osnova.value>1200000 && osnova.value<=2500000) {
			sbor.value=5500}
			else if (osnova.value>2500000 && osnova.value<=5000000) {
				sbor.value=7500}
				else if (osnova.value>5000000 && osnova.value<=10000000) {
					sbor.value=20000}
					else if (osnova.value>10000000 && osnova.value<=30000000) {
						sbor.value=50000}
						else if (osnova.value>30000000) {
							sbor.value=100000}		
nds.value=osnova.value*0.18;
st.value=(osnova.value*stavka.value)/100
}
</script>

<form action="">
<table border="2" align=center>
<tr>
<td>
Таможенная стоимость</td>
<td>
<input id="osnova" type="text" required size="38">
</td>
<td>
<input type="button" value="Расчёт" onClick="umn()"></td>
</tr>
<tr>
<td>Ставка(в %)</td>
<td><input id="stavka" type="text" size="25"></td>
<td><input type="button" value="Очистка" onClick="clr()"></td>
</tr>
<tr>
<td>Таможенный сбор</td>
<td><input id="sbor" type="text" readonly size="25"></td>
</tr>
<tr>
<td>Пошлина</td>
<td><input id="st" type="text" readonly size="38"></td>
</tr>
<tr>
<td>НДС</td>
<td><input id="nds" readonly type="text" size="38"></td>
</tr>
</table>
</form>
</BODY> 
</HTML>

Помогите пожалуйста

danik.js 05.04.2013 15:14

В IE (и видимо в опере) доступ к именованым элементам формы не работает. Лучше писать
var osnova = document.getElementById('osnova')

newbee 07.04.2013 17:27

Решение было найдено. Дал форме имя, и вставил его перед всеми обращениями к инпутам

Istorik 19.05.2013 13:14

Please enter the state/province.Что это значит?
 
Я не спец и в скриптах ничего не знаю.Мне нужно отправить заказ в
интернет-магазин,но на последнем этапе (в обоих браузерах) получаю
один ответ-Please enter the state/province.Одно из двух-или сбой на
сайте,туда я уже написал,или у меня.Что мне делать,если сбой у меня?


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