Программирование > JavaScript & JScript

Помогите пожалуйста (форма)

(1/3) > >>

Blizzard:
Сэры! Есть форма. В которой есть выбор "метод обработки заказа".
Так вот как бы сделать так, что бы при выборе "Выписка счета", подписи к полям: Название организации, ИНН организации становились бы красненькими, а поле адрес еще и менялось на Юр. адрес. И эти три поля становились бы обязательными к заполению.
При выборе любого другого пункта все становилось бы как есть.

Помогите пожалуйста, что никак не могу решить эту проблему :(

Форма тут: http://www.ultrabook.ru/temp/ddd.htm

semya:

--- Цитировать ---И эти три поля становились бы обязательными к заполению.

--- Конец цитаты ---

ну это все зависит от того, каким методом ты проверяешь правильность заполнения формы, если ты все хочешь сделать на стороне клиента, то надо смотреть скрипт проверки формы, а если на стороне сервера, то там вообще проблем по-моему никаких, если такой метод обработки заказа, то проверять эти поля, иначе нет...
ну а с изменением цвета на onchange по-моему у select пропиываешь функцию, которая меняет стиль ячейки таблицы или чего там где у тебя прописаны названия полей, вернее их заголовки

- сменяем цвет текста в ячейке таблицы с идентификатором td_id на красный

Blizzard:
Хммммм... Что-то у меня не получилось через OnChange.
Может попробуешь накалякать? Пллззззз

http://www.ultrabook.ru/temp/ddd.htm

p.s Проверят надо на стороне клиента.

Nickii:



 
   Твое название
   
   

 

 /* Внимание! Потребуется глобальная переменная, флаг в котором хранится тип метода
 обработки, т.е. true - значит выбрана "выписка счета"*/
 var schet = false;

 // в функцию надо добавить проверку см. ниже
 function checkmail()
 { var form = document.otpravkanamilo,
       txt0 = form.familia.value,
       txt1 = form.email.value,
       txt2 = form.wwwname.value,
       txt3 = form.naznachenie.value;

   if (txt0 == "")
   {
    alert("Введите ФИО контактного лица");
    return(false);
   }

   if (txt1 == "")
   {
    alert("Введите e-mail");
    return(false);
   }
   
   if (txt2 == "")
   {
     alert("Введите телефон");
     return(false)
   }
 
   if (txt3 == "")
   {
     alert("Введите метод обработки заказа");
     return(false)
   }

  /* Если выбрали "выписка счета" значит надо проверить оставшиеся элементы формы
    которые стали обязательны */
   if(schet)
   {
     var txt4 = form.gorod.value,
         txt5 = form.wwwurl.value,
         txt6 = form.inn.value;

     if (txt4 == "")
     {
      alert("Введите юридический адрес фирмы");
      return(false);
     }
   
     if (txt5 == "")
     {
       alert("Введите название фирмы");
       return(false)
     }
 
     if (txt6 == "")
     {  
       alert("Введите ИНН фирмы");
       return(false)
     }
   }

 }
// Это все здорово, но я бы сделал примерно так
/*
  var go = false;

  if(txt0 && txt1 && txt2 && txt3)
  {
    go = true;
    if(schet && (!txt4 || !txt5 || !txt6))
      go = false;
  }
 
  if(!go) alert("Поля помеченные звездочкой \'*\' обязательны для заполнения!");
  return go; */


 /* Эта та функция которая тебе нужна - вешается на событие onChange элемента */
 function checkOption()
 {
   /* otpravkanamilo - плохо звучит лучше так - send_to_mail
      naznachenie - type
      Получаем значение селекта */
   var select = document.otpravkanamilo.naznachenie.value;

   /* Если значение равно нужному, и ранее оно небыло выбрано,
      или если значение не равно нужному, но оно было выбрано ранее (улавливаешь?:)*/
   if((select == "выписка счета" && !schet)||(select != "выписка счета" && schet))
   {
     /* Получим объекты - ячейки которые хотим изменить (для этого в должен быть задан id см.тело документа)*/
     var firmName = document.getElementById("name_firm"),
         firmInn = document.getElementById("inn_firm"),
         firmAdres = document.getElementById("adres_firm");

     // Если ранее не было выбрано нужное нам значение
     if(!schet)
     {
       // тогда перекрашиваем в красный
       firmName.style.color = "#FF0000";
       // И меняем текст
       firmName.innerHTML = "Название организации *";
       firmInn.style.color = "#FF0000";
       firmInn.innerHTML = "ИНН организации *";
       firmAdres.style.color = "#FF0000";
       firmAdres.innerHTML = "Юридический адрес *";
     }
     // в противном случае
     else
     {
       // перекрашиваем в черный
       firmName.style.color = "#000000";
       // и меняеи текст на начальный
       firmName.innerHTML = "Название организации";
       firmInn.style.color = "#000000";
       firmInn.innerHTML = "ИНН организации";
       firmAdres.style.color = "#000000";
       firmAdres.innerHTML = "Адрес";
     }
     
     // не забудем изменить флаг на противоположное значение false = !true;
     schet = !schet;
   }
 }





  .position { LEFT: 0px; VISIBILITY: hidden; WIDTH: 0px; POSITION: absolute; TOP: 0px }






 
   
   

   
   

     
       ФИО*
       Персональный код
     

     
       
       
     

     
       E-Mail*
       Телефон*
   

   
     
     
   

   

     

      Адрес
   

   
     
   

   

     

      Название организации
      ИНН организации
   

   
     
     
   

   
      Метод обработки*
   

   
     


     

        выберете
         выставление резерва
         выписка счета
         заявка на доставку
         сборка компьютера
         Выбрать
       
   

   
     
     
   
     
   
 
    * - поля
      обязательные для заполнения

Blizzard:

--- Цитировать ---Nickii:

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии