Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2010, 05:08
Новичок на форуме
Отправить личное сообщение для enemis Посмотреть профиль Найти все сообщения от enemis
 
Регистрация: 14.05.2010
Сообщений: 3

Скрипт для формы не работает ни в опере ни в лисе в ie работает в чем загвоздка
Здравствуйте уважаемые гуру. Я новичек в JavaScript, а в универе задали написать скрипты для формы, я выполнил используя справочник с этого сайта+ методичку+интернет скрипт тестил в IE все работало, доделал начал тестить менюшку во всех браузерах оказалось не работает, в чем проблема не пойму, помогите пожалуйста.

Весь тег скрипт вылаживаю так как не знаю может ошибка в компоновке не работают функ-ции:sum(), checkForm()б changeList()
<script language="javascript" type="text/javascript">
	function hideMenu(name)
	{
		document.getElementById(name).style.visibility="hidden";	
	}
	function showMenu(name)
	{
		document.getElementById(name).style.visibility="visible";	
	}
	function checkBrowser()
	{
		var info;
		info="Данные вашего браузера:\n\n"
		info+="Браузер - "+navigator.appName+"\n";
		info+="Агент - "+navigator.userAgent+"\n";
		info+="Версия браузера - "+navigator.appVersion+"\n\n";
		if(navigator.javaEnabled()==1)
			{
				info+="Браузер потдерживает JavaScript"+"\n"
			}
		else
			{
				info+="Браузер непотдерживает JavaScript"+"\n"
			}
			
		alert(info);
	}
	function clearForm()
	{
		alert("clear");
		document.getElementById("clearButton").click();
	}
	function sum()
	{
		var woTax=parseFloat(document.getElementById("amountWithOutTax").value);
		var tax=parseInt(document.getElementById("tax").value);
	for (var i=0; i<2; i++)
	{
		if(!woTax||woTax<0)
		{
			document.getElementById("amountWithOutTax").value=0;
		}
		if(!tax||tax<0)
		{
			document.getElementById("tax").value=0;
		}
		if((woTax>0&&tax>0))
			{
				document.getElementById("amountTotal").value= (woTax+tax/100*woTax).toFixed(2);
			}	
		else 
			{
				document.getElementById("amountTotal").value=0;
			}
    	}
	}
	function changeList()
	{	
		var mainList=document.getElementById("firmName");
		var parrentList=document.getElementById("payDeskNumber");
		parrentList.options.length=0;
	   switch(mainList.options[mainList.selectedIndex].text)
	  {
		  
		 case "ООО Рога и копыта":
		 {
			parrentList.options[0]=new Option("Касса РиГ 1",""); 
			parrentList.options[1]=new Option("Касса РиГ 2","");
			break;
		 }
		 case "Розовый слон":
		 {
			
			parrentList.options[0]=new Option("Касса слон 1",""); 
			parrentList.options[1]=new Option("Касса слон 2","");
			parrentList.options[2]=new Option("Касса слон 3","");
			break; 
		 }
		
		 case "Турагентство Иван Сусанин":
		 {
			
			parrentList.options[0]=new Option("Касса ТИС 1",""); 
			parrentList.options[1]=new Option("Касса ТИС 2","");
			break; 
		 }
		 case "салон красоты Баба-Яга":
		 {
			
			parrentList.options[0]=new Option("Касса Яга 1",""); 
			parrentList.options[1]=new Option("Касса Яга 2","");
			break; 
		 }
		   
	  }
	}
	function checkForm()
	{
		var masValue=[];
		var errorMessage=[];
		var errorCount=1;
		var separator;
		var errorString="Неправильно заполненны поля:\n"
		masValue.push(parseInt(document.getElementById("orderNumber").value));
		errorMessage.push("Приходной кассовый ордер");
		var dateString=document.getElementById("textDate").value;
		if (dateString)
		{
			if (dateString.search(".")!=-1)
			{
				separator=".";
			}
			else if (dateString.search("\\")!=-1)
			{
				separator="\\";
			}
			else if (dateString.search("/")!=-1)
			{
				separator="/";
			}
			if(separator)
			{
				if(separator!="/")
				{
					for (var j=0; j<3; j++)
					{
						 dateString=dateString.replace(separator,'/');
					}
				}
				document.getElementById("textDate").value=dateString;			
			}
		}
		masValue.push(Date.parse(dateString));		
		errorMessage.push("Дата создания");
		masValue.push(parseInt(document.getElementById("expenseInvoice").value));
		errorMessage.push("К расходной накладной");
		masValue.push(document.getElementById("foundation").value);
		errorMessage.push("Основание");
		for (var i=0; i<masValue.length; i++)
		{
			if (!masValue[i]||masValue[i]<0)
			{
				errorString+=errorCount+". "+"\""+errorMessage[i]+"\""+"\n"
				errorCount++;
			}		
		}	
		if (errorCount!=1)
		{
			alert(errorString);	
		}
		else 
		{
			alert("Все поля заполненны правильно");	
		}
	}
</script>

Последний раз редактировалось enemis, 14.05.2010 в 05:10.
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2010, 05:23
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Покажите страницу с формой
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2010, 12:04
Новичок на форуме
Отправить личное сообщение для enemis Посмотреть профиль Найти все сообщения от enemis
 
Регистрация: 14.05.2010
Сообщений: 3

Сообщение от Octane
Покажите страницу с формой
<div>
    <form action="" method="post" name="form">
    <fieldset><legend>Ордер</legend>
    <div class="alignDivCenter">
   		 <label>Приходной кассовыйй ордер № <input name="orderNumber" type="text" value="0" size="4" maxlength="4" /> </label>
    </div>
    <div class="floatFormDiv"> <label>Дата создания 
      <input name="textDate" type="text" size="10" maxlength="10" /></label>
    </div>
    <div class="alignDivLeft">	
   <label>К расходной накладной № 
     <input name="expenseInvoice" type="text" value="0" size="4" maxlength="4" /> </label>  
    </div>
    </fieldset>
    <fieldset><legend>Информация о получателе/отправителе</legend>
    <div><label>Выписан на фирму: <select name="firmName" onchange="changeList();return true;">
      <option selected="selected" >ООО Рога и копыта</option>
      <option>Розовый слон</option>
      <option>Турагентство Иван Сусанин</option>
      <option>салон красоты Баба-Яга</option>
    </select></label></div>
    <div><label>Касса: <select name="payDeskNumber">
    </select></label>
        </div>
        <div class="alignDivRight">
         <label>Принято <input name="checked" type="checkbox" value="false" disabled="disabled"/></label>
        </div>
    </fieldset>
     <fieldset><legend>Сумма</legend>
     <div class="floatFormDiv"> <label>Сумма без налогов
      <input name="amountWithOutTax" type="text" onchange="sum()" value="0" size="10" maxlength="15" /></label>
    </div>
    <div class="alignDivLeft">	
   <label>НДС% <input name="tax" type="text" value="0" size="3" maxlength="3" onchange="sum()" /> </label>
    </div>
     <div>
   		 <label>Сумма всего:  <input name="amountTotal" type="text" value="0" size="10" maxlength="15" readonly="readonly" /> </label>
    </div> 
     </fieldset>
     <fieldset><legend>Основание</legend>
     <div class="alignDivCenter">
       <textarea name="foundation" cols="80" rows="5" ></textarea>
     </div>
     </fieldset>
     <fieldset>
     <div class="alignDivCenter">
     <input name="submit" type="submit" value="Сохранить" id="saveButton" onclick="checkForm(); return false"/>
     <input name="reset" type="reset" value="Очистить"  id="clearButton"/>
     </div>
     </fieldset>
    </form>

Последний раз редактировалось enemis, 14.05.2010 в 12:06.
Ответить с цитированием
  #4 (permalink)  
Старый 14.05.2010, 12:12
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от enemis
document.getElementById(name)
Метод называется getElementById. Почему вы ему name подсовываете?
Ответить с цитированием
  #5 (permalink)  
Старый 14.05.2010, 13:29
Новичок на форуме
Отправить личное сообщение для enemis Посмотреть профиль Найти все сообщения от enemis
 
Регистрация: 14.05.2010
Сообщений: 3

Сообщение от Kolyaj Посмотреть сообщение
Метод называется getElementById. Почему вы ему name подсовываете?
Спасибо большое заработало!. Я вчера себе весь мозг сломал пытаясь найти ошибку! Может подскажете какую нибудь книжку по javaScript стоящую. У меня есть javaScript подробное руководство Д. Фленаган, но я так понимаю она не для новичков.
Ответить с цитированием
  #6 (permalink)  
Старый 14.05.2010, 13:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

На этом сайте всё есть, и даже список книг.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает в FF и опера, но работает в IE(в чем дело???) Cepera Firefox/Mozilla 1 24.08.2012 16:46
Скрипт работает только в опере:( Angel_33_3 Javascript под браузер 10 21.12.2009 15:58
скрипт multibox для joomla - не работает в опере lamanzh Opera, Safari и др. 17 26.06.2009 12:35
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Не работает скрипт в Опере stosen Элементы интерфейса 34 03.11.2008 20:38