Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   вложенные функции (https://javascript.ru/forum/misc/41002-vlozhennye-funkcii.html)

Mick_20 28.08.2013 07:51

вложенные функции
 
Здравствуйте. Прошу помощи продвинутых кодеров.
Имеются два скрипта - проверка заполнены ли поля в форме, скрытие части полей если выбран один из двух селектов.

Скрипт проверки проверяет все поля, но когда часть полей скрывается их не нужно проверять. Пытался сделать вложенную функцию но ничего не вышло.
Вот скрипты:

function check()    { 
					if ((my_form.fio.value == "")|| (my_form.place_work.value == "")|| (my_form.dolzhnost.value == "")|| 	(my_form.dogovor_id.value == "")||(my_form.urid_name.value == "")|| (my_form.urid_adress.value == "")|| 
(my_form.inn_kpp.value == "")||(my_form.pc.value == "")|| (my_form.bank_name.value == "")|| (my_form.fio_curator.value == "")|| (my_form.phone.value == ""))
					{ 
						alert ('Заполните все обязательные для заполнения поля!Обязательные поля отмечены звездочкой `*`!'); 
						return false; 
					} 
					return true; 
				}




function Selected(a) {

    var label = a.value;
	
		if (label==1) {
       
	   document.getElementById("Label1").style.display='block';
	   
		} else if (label==2) {

        document.getElementById("Label1").style.display='none';
		
		} 

	}

ksa 28.08.2013 11:31

Цитата:

Сообщение от Mick_20
(my_form.fio.value == "")|| (my_form.place_work.value == "")|| (my_form.dolzhnost.value == "")||    (my_form.dogovor_id.value == "")||(my_form.urid_name.value == "")|| (my_form.urid_adress.value == "")|| (my_form.inn_kpp.value == "")||(my_form.pc.value == "")|| (my_form.bank_name.value == "")|| (my_form.fio_curator.value == "")|| (my_form.phone.value == "")

Такие условия - настоящий говнокод.

Иди в цикле по нужным элементам... Проверяй их видимость... Если видны - проверяй заполнение.
Поокончании цикла делай выводы.

Mick_20 28.08.2013 12:15

Цитата:

Сообщение от ksa (Сообщение 269648)
Такие условия - настоящий говнокод.

Иди в цикле по нужным элементам... Проверяй их видимость... Если видны - проверяй заполнение.
Поокончании цикла делай выводы.

Да я не умею в цикле проверять и видимость тоже не знаю как проверять.
Мне б хоть так :(

tsigel 28.08.2013 12:36

Здравствуйте!

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

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

Проверить на видимость:
if (element.style.display == "none") {
/**скрыт*/
} else {
/**Показан*/
}

Почитайте о циклах

ksa 28.08.2013 13:46

Цитата:

Сообщение от Mick_20
я не умею в цикле проверять и видимость тоже не знаю как проверять

Тогда у тебя два варианта...
1. Начать таки изучать
2. Создавать тему в разделе "Работа" и назначать цену

ruslan_mart 28.08.2013 17:24

Цитата:

Сообщение от Mick_20
я не умею в цикле проверять и видимость тоже не знаю как проверять

var data = ['fio', 'place_work', 'dolzhnost', 'dogovor_id', 'urid_name', 'urid_adress', 'inn_kpp', 'pc', 'bank_name', 'fio_curator', 'phone'];

for(var i=0; i<data.length; i++) if(!my_form[data[i]].value) {
   alert('Заполните все обязательные для заполнения поля!');
   break;
}


Но лучше же, конечно, дать обязательным полям класс и циклом пробегать по ним.

var myForm = document.getElementByClassName('myForm'); // или document.querySelectorAll('.myForm');

for(i=0; i<myForm.length; i++) if(!myForm[i].value) {
   alert('Заполните все обязательные для заполнения поля!');
   break;
}

Mick_20 29.08.2013 06:20

засколько сделаете?(есть дополнительное условие к проверке скрываемых полей - если выбран файл с данными то скрываемые поля даже если они не скрыты не проверять) в личку.

Mick_20 29.08.2013 07:38

vk.com/mikesoin для связи

ksa 29.08.2013 08:21

Цитата:

Сообщение от Mick_20
засколько сделаете?

1000р за час...

ruslan_mart 29.08.2013 12:30

Mick_20, стучите в скайп (скайп есть в профиле).


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