Javascript.RU

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

Помогите с обработкой формы
Всем привет. Прошу помощи в обработке формы, никак не могу понять что нужно скрипту, чтобы хотя бы затенить вторую строку.

<body onLoad="Svedenie()"> 

  <form name="Ceny" action="" method="post" style="margin-left:auto; margin-right:auto">
        <table width="390"  style="border: 2px solid #CCC; background:#3e3e3e">
      	<tr>
         <td  class="text" width="190px">СВЕДЕНИЕ:</td>
        <td >
        <select onchange="CSvedenie()" name="Svedenie" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="Yes" selected="selected">Да</option>
                <option value="No">Нет</option>
 				</select>
        </td>
          </tr>
           <tr>          
            <td class="text">Количество дорожек wav:</td>
            <td>
            <select onchange="CKolvoDorogi()" name="KolvoDorogi" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="1" selected="selected">до 10-ти шт.</option>
                <option value="2">от 10 до 13 шт.</option>
                <option value="3">от 13 до 16 шт.</option>
                <option value="4">от 16 до 19 шт.</option>
                <option value="5">от 19 до 21 шт.</option>
                <option value="6">от 21 до 24 шт.</option>
                <option value="7">от 24 до 27 шт.</option>
                <option value="8">от 27 до 30 шт.</option>
              </select></td>
          </tr>
          <tr>
         <td   class="text">МАСТЕРИНГ:</td>
        <td>
        <input onchange="CMastering()" name="Mastering" type="radio" value="Yes" checked>Да
        <input onchange="CMastering()" name="Mastering" type="radio" value="No" >Нет
        </td>
          </tr>
          <tr>
            <td class="text">Количество минут:</td>
            <td><select onchange="MasteringChange()" name="MasteringChange" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="1" selected="selected">До 5 минут</option>
                <option value="2">От 5 до 10 минут</option>
                <option value="3">От 10 до 15 минут</option>
                <option value="4">От 15 до 20 минут</option>
                <option value="4">От 20 до 25 минут</option>
                <option value="4">От 25 до 30 минут</option>
              </select></td>
          </tr>
           <tr >
            <th class="stylered" align="left">ИТОГО (руб.):</th>
            <td><input name="TarifTotal" type="text" class="styleredbig"  style="width: 200px; color:#9a9a9a; background:#3e3e3e;" />
              <input type="hidden" name="txtorder" />
            </td>
          </tr>
        </table>
      </form>


<script type="text/javascript" language="JavaScript">
	function Svedenie() 	{
	var SvedenieValue = document.Ceny.Svedenie.value
	
	if( SvedenieValue == 'No' )	
		{document.Ceny.KolvoDorogi.disabled = false;}
	else  {
	if( SvedenieValue == 'Yes' )	
		{document.Ceny.KolvoDorogi.disabled = true;}}
		
	}  
</script>

</body>

Последний раз редактировалось k3b3, 15.02.2012 в 10:39.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2012, 09:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.



Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам.
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2012, 10:34
Новичок на форуме
Отправить личное сообщение для k3b3 Посмотреть профиль Найти все сообщения от k3b3
 
Регистрация: 15.02.2012
Сообщений: 8

исправил, надеюсь правильно, хотя бы подскажите в чем ошибка
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2012, 17:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

k3b3,
Определитесь с названием функции строки 1 , 8 и в скрипте 2 ,
исправьте синтаксис в скрипте
if () {

}
else if() {

}
Ответить с цитированием
  #5 (permalink)  
Старый 16.02.2012, 15:17
Новичок на форуме
Отправить личное сообщение для k3b3 Посмотреть профиль Найти все сообщения от k3b3
 
Регистрация: 15.02.2012
Сообщений: 8

О да, всем спасибо, я дошел %)) Оказывается рулит onchange %))
Ответить с цитированием
  #6 (permalink)  
Старый 17.02.2012, 11:55
Новичок на форуме
Отправить личное сообщение для k3b3 Посмотреть профиль Найти все сообщения от k3b3
 
Регистрация: 15.02.2012
Сообщений: 8

Возникла другая проблема.
Функции написал, как сделать так, чтобы в последней строке формы вылезала строка с ценой при загрузке страницы и дальнейшем изменении полей. Подскажите где копать.

<body>

<form name="Ceny" action="" method="post" style="margin-left:auto; margin-right:auto">
        <table  style="border: 2px solid #CCC; background:#3e3e3e">
      	<tr>
         <td  class="text">СВЕДЕНИЕ:</td>
        <td >
        <select onchange="CSvedenie()" name="Svedenie" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="Yes" >Да</option>
                <option value="No" selected="selected">Нет</option>
 				</select>
        </td>
          </tr>
           <tr>          
            <td class="text">Количество дорожек wav:</td>
            <td>
            <select onchange="CKolvoDorogi()" name="KolvoDorogi" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="1" selected="selected">до 10-ти шт.</option>
                <option value="2">от 10 до 13 шт.</option>
                <option value="3">от 13 до 16 шт.</option>
                <option value="4">от 16 до 19 шт.</option>
                <option value="5">от 19 до 22 шт.</option>
                <option value="6">от 22 до 25 шт.</option>
                <option value="7">от 25 до 28 шт.</option>
                <option value="8">от 28 до 31 шт.</option>
              </select></td>
          </tr>
          <tr>
         <td   class="text">МАСТЕРИНГ:</td>
        <td>
        <select onchange="CMastering()" name="Mastering" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="Yes" >Да</option>
                <option value="No" selected="selected">Нет</option>
 				</select>
        </td>
          </tr>
          <tr>
            <td class="text">Количество минут:</td>
            <td><select onchange="CMasteringChange()" name="MasteringChange" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="1" selected="selected">До 5 минут</option>
                <option value="2">От 5 до 10 минут</option>
                <option value="3">От 10 до 15 минут</option>
                <option value="4">От 15 до 20 минут</option>
                <option value="5">От 20 до 25 минут</option>
                <option value="6">От 25 до 30 минут</option>
              </select></td>
          </tr>
           <tr >
           
            <th class="stylered" align="left">ИТОГО (руб.):</th>
            <td><input name="TarifTotal" type="text" class="styleredbig"  style="width: 200px; color:#9a9a9a; background:#3e3e3e;" />
              <input type="hidden" name="txtorder" />
            </td>
          </tr>
        </table>
</form>



<script>   <!--
	var kolvdorogi;
	var kolvminut;
	var svedenieitogo; /// переменная на сведение
	var masteringitogo; /// переменная на мастеринг
	var	itogo = svedenieitogo + masteringitogo; /// Итого
//////////////////////////////////////////////////// Функция Количество дорожек wav:
function CKolvoDorogi() {
	var KolvoDorogiValue = document.Ceny.KolvoDorogi.value
	
	if (KolvoDorogiValue == '1')	{
		kolvdorogi = 300;
		}
	else if (KolvoDorogiValue == '2') {
		kolvdorogi = 390;
		}
	else if (KolvoDorogiValue == '3') {
		kolvdorogi = 480;
		}
	else if (KolvoDorogiValue == '4') {
		kolvdorogi = 570;
		}
	else if (KolvoDorogiValue == '5') {
		kolvdorogi = 660;
		}
	else if (KolvoDorogiValue == '6') {
		kolvdorogi = 750;
		}
	else if (KolvoDorogiValue == '7') {
		kolvdorogi = 840;
		}
	else {
		kolvdorogi = 930;
		}
}  
//////////////////////////////////////////////////// Функция СВЕДЕНИЕ ДА НЕТ
function CSvedenie() {
	var SvedenieValue = document.Ceny.Svedenie.value
	
	if (SvedenieValue == 'Yes')	{
		Ceny.KolvoDorogi.disabled = false;
		svedenieitogo = kolvdorogi;
		}
	else {
		Ceny.KolvoDorogi.disabled = true;
		svedenieitogo = 0;
		}
	CKolvoDorogi();
}  
////////////////////////////////////////////////////  Функция Количество минут:
function CMasteringChange() {
	var MasteringChangevalue = document.Ceny.MasteringChange.value
	
	if (MasteringChangevalue == '1')	{
		kolvminut = 200;
		}
	else if (MasteringChangevalue == '2') {
		kolvminut = 400;
		}
	else if (MasteringChangevalue == '3') {
		kolvminut = 600;
		}
	else if (MasteringChangevalue == '4') {
		kolvminut = 800;
		}
	else if (MasteringChangevalue == '5') {
		kolvminut = 1000;
		}
	else {
		kolvminut = 1200;
		}
}  
////////////////////////////////////////////////////  Функция МАСТЕРИНГ ДА НЕТ
function CMastering() {
	var MasteringValue = document.Ceny.Mastering.value
	
	if (MasteringValue == 'Yes')	{
		Ceny.MasteringChange.disabled = false;
		masteringitogo = kolvminut;
		}
	else {
		Ceny.MasteringChange.disabled = true;
		masteringitogo = 0
		}
	CMasteringChange();
}  
////////////////////////////////////////////////////
window.onload = function Calculate2() {

CSvedenie();
CMastering();

}  
	//-->   
    </script>


</body>
Ответить с цитированием
  #7 (permalink)  
Старый 17.02.2012, 12:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от k3b3
вылезала строка с ценой
наверно сделать функцию которая будет складывать нужные данные и присваивать значение нужному полю и добавить её во все функции может вам в раздел работа ?
Ответить с цитированием
  #8 (permalink)  
Старый 17.02.2012, 13:19
Новичок на форуме
Отправить личное сообщение для k3b3 Посмотреть профиль Найти все сообщения от k3b3
 
Регистрация: 15.02.2012
Сообщений: 8

Сообщение от рони Посмотреть сообщение
наверно сделать функцию которая будет складывать нужные данные и присваивать значение нужному полю и добавить её во все функции может вам в раздел работа ?
Не, нет у меня денег на оплату. Сам хочу добить. Не могу логики просто понять.
Вот у меня есть куча функций, которые загружаются при загрузке страницы последней функцией. Эти функции действуют только при изменении полей форм, т.е. var(ы) нужно изначально приравнять к нулю. Вот в каком дальше направлении копать не совсем ясно.
Ответить с цитированием
  #9 (permalink)  
Старый 17.02.2012, 13:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

k3b3, ам )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title></title>
  <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
</head>

<body>

<form name="Ceny" action="" method="post" style="margin-left:auto; margin-right:auto">
        <table  style="border: 2px solid #CCC; background:#3e3e3e">
      	<tr>
         <td  class="text">СВЕДЕНИЕ:</td>
        <td >
        <select onchange="itogo()" name="Svedenie" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="Yes" >Да</option>
                <option value="No" selected="selected">Нет</option>
 				</select>
        </td>
          </tr>
           <tr>
            <td class="text">Количество дорожек wav:</td>
            <td>
            <select onchange="itogo()" name="KolvoDorogi" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="1" selected="selected">до 10-ти шт.</option>
                <option value="2">от 10 до 13 шт.</option>
                <option value="3">от 13 до 16 шт.</option>
                <option value="4">от 16 до 19 шт.</option>
                <option value="5">от 19 до 22 шт.</option>
                <option value="6">от 22 до 25 шт.</option>
                <option value="7">от 25 до 28 шт.</option>
                <option value="8">от 28 до 31 шт.</option>
              </select></td>
          </tr>
          <tr>
         <td   class="text">МАСТЕРИНГ:</td>
        <td>
        <select onchange="itogo()" name="Mastering" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="Yes" >Да</option>
                <option value="No" selected="selected">Нет</option>
 				</select>
        </td>
          </tr>
          <tr>
            <td class="text">Количество минут:</td>
            <td><select onchange="itogo()" name="MasteringChange" style="width: 200px; color:#9a9a9a; background:#3e3e3e;">
                <option value="1" selected="selected">До 5 минут</option>
                <option value="2">От 5 до 10 минут</option>
                <option value="3">От 10 до 15 минут</option>
                <option value="4">От 15 до 20 минут</option>
                <option value="5">От 20 до 25 минут</option>
                <option value="6">От 25 до 30 минут</option>
              </select></td>
          </tr>
           <tr >

            <th class="stylered" align="left">ИТОГО (руб.):</th>
            <td><input name="TarifTotal" type="text" class="styleredbig"  style="width: 200px; color:#9a9a9a; background:#3e3e3e;" />
              <input type="hidden" name="txtorder" />
            </td>
          </tr>
        </table>
</form>
<script>
function itogo()
{
var SvedenieValue = (document.Ceny.Svedenie.value == 'Yes');
document.Ceny.KolvoDorogi.disabled = !SvedenieValue;
var KolvoDorogiValue = +document.Ceny.KolvoDorogi.value;
var svedenieitogo = SvedenieValue? [0,300,390,480,570,660,750,840,930][KolvoDorogiValue]:0;
var MasteringValue = (document.Ceny.Mastering.value ==  'Yes')
document.Ceny.MasteringChange.disabled = !MasteringValue;
var MasteringChangevalue = +document.Ceny.MasteringChange.value;
var masteringitogo =  MasteringValue? [0,200,400,600,800,1000,1200][MasteringChangevalue]:0;
document.Ceny.TarifTotal.value  =  svedenieitogo + masteringitogo
}
window.onload = function () {
itogo()
}
</script>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 17.02.2012, 13:41
Новичок на форуме
Отправить личное сообщение для k3b3 Посмотреть профиль Найти все сообщения от k3b3
 
Регистрация: 15.02.2012
Сообщений: 8

Мда, ну капец, оптимизация %)) Спасибо, Рони. Если нужно свести и отмастерить трек - обращайся, сделаю бесплатно %). Мдаа, нужно учить скрипт %)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с передачей данных с формы на другую страницу Dimand (X)HTML/CSS 3 13.02.2011 11:14
Помогите, незнаю как и чем считать и отправить данные с формы Arfey Общие вопросы Javascript 3 31.05.2010 16:01
Проблема с обработкой формы в IE Check'Yr'Head Общие вопросы Javascript 1 15.12.2009 12:20
помогите! 3 формы - одна кнопка. как реализовать? SandZ Events/DOM/Window 10 10.09.2009 15:52
Помогите написать скрипт валидации формы RayOfLight Общие вопросы Javascript 2 27.07.2009 11:58