Показ/скрытие полей через JavaScript
#181
Отправлено 04 Март 2015 - 11:18
И переход с 2.Х.Х будет?
#182
Отправлено 04 Март 2015 - 11:31
#183
Отправлено 04 Март 2015 - 11:39
Я думаю вам будут оооочень многие благодарны
#184
Отправлено 04 Март 2015 - 11:40
#185
Отправлено 04 Март 2015 - 12:36
Вы бы сначала 2.х довели до ума в плане сервисов, а то пользователям самим приходится изучать языки программирования. Хорошо хоть форум есть и какая-никакая помощь ваших программистов. Но все равно это лучше чем ничего.
#186
Отправлено 12 Апрель 2015 - 18:50
Надо чтобы:
при выборе одного значения в 4661 открывалось для заполнения поле 4771.
при выборе другого значения в 4661 открывалось для заполнения поле 4751
при выборе ещё оного значения в 4661 ничего не открывалось из этих полей для заполнения.
У меня не получается к сожалению сделать самой, перепробовала коды которые в этой теме и в других похожих написаны и подставляла свои значения id. Помогите
Заранее спасибо за помощь и ответы!
Сообщение отредактировал Tatiana: 12 Апрель 2015 - 18:52
#187
Отправлено 12 Апрель 2015 - 22:22
$(document).ready(function(){ onchange_{$one_field.id}; $('#value{$one_field.id}').change(function(){ on_change{$one_field.id}(); }); }); function onchange_{$one_field.id}() { // Функция по событию "изменение поля" var val4661 = document.getElementById('value4661').value; switch( val4661 ) { case value_1: // value_1 - значение 1 из поля 4661 { display_field(4771, 1); display_field(4751, 0); break; } case value_2: // value_2 - значение 2 из поля 4661 { display_field(4771, 0); display_field(4751, 1); break; } case value_3: // value_3 - значение 3 из поля 4661 default: // это же условие отрабатывает по умолчанию, т.е. если значение в поле 4661 не совпадет ни с одним из выше перечисленных { display_field(4771, 0); display_field(4751, 0); } } }
Сообщение отредактировал andibrag: 25 Апрель 2015 - 20:13
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#188
Отправлено 13 Апрель 2015 - 00:07
#189
Отправлено 13 Апрель 2015 - 11:39
Tatiana (13 Апрель 2015 - 00:07) писал:
Исправил код. В прошлый раз зацепило форматирование строк, сейчас убрал этот мусор.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#190
Отправлено 25 Апрель 2015 - 17:26
Есть вопрос - кто в силах подсказать - буду рад)
Есть следующий код:
function onchange_{$one_field.id}() { //Объект display_field(13330, document.getElementById('value{$one_field.id}').value==spis_object || document.getElementById('value{$one_field.id}').value==spis_sverk); //Контракт / Договор display_field(12710, document.getElementById('value{$one_field.id}').value==spis_bg || document.getElementById('value{$one_field.id}').value==post_kont); //Договор субподряда display_field(12340, document.getElementById('value{$one_field.id}').value==spis_subp || document.getElementById('value{$one_field.id}').value==post_subp); //Договор подряда display_field(14720, document.getElementById('value{$one_field.id}').value==spis_podr); } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id}); $(onchange_{$one_field.id});
Выше этого кода присвоены значения переменным. При выборе нужные поля скрываются, вроде все работает. Но при первоначальной загрузке все поля, которые здесь описаны (которые по сути должны быть скрыты) - открыты. И скрываются сразу все только при изменении поля выбора... Здесь все перечитал, понял одно - код //$(onchange_{$one_field.id});// в конце вызывает данную функцию и поля должны автоматически скрыться... Что может быть? Где искать косяк?
#191
Отправлено 25 Апрель 2015 - 20:22
serg63rus (25 Апрель 2015 - 17:26) писал:
onchange_{$one_field.id};Возможно также, что поле, в которое помещен JS, расположено на странице выше, чем поля, которые участвуют в коде. Т.е. код JS начинает работу до того, как поля появились, в результате возникает ошибка. Чтобы это избежать используйте вариант, обозначенный выше:
$(document).ready(function(){ onchange_{$one_field.id}; $('#value{$one_field.id}').change(function(){ on_change{$one_field.id}(); }); });В этом случае JS запуститься только после формирования всей страницы.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#192
Отправлено 26 Апрель 2015 - 12:31
Цитата
Так у него как раз и используется этот вариант, только в альтернативном сокращенном виде:
$(onchange_{$one_field.id});
А вы его видимо спутали с "неправильным вызовом onchange":
Цитата
Так что тут скорее всего верно и именно так как вы советуете. Косяк где-то в другом месте, но где именно, не вижу. Смущает конечно сравнение с неопределенными переменными:
display_field(13330, document.getElementById('value{$one_field.id}').value==spis_object
Хотя автор и говорит, что они где-то выше определяются, но где передача их внутрь функции? Тогда уж надо целиком весь код размещать. С другой стороны, если баг тут, функция бы вообще не работала...
#193
Отправлено 26 Апрель 2015 - 19:32
andibrag, CbCoder, спасибо за подсказки, обязательно попробую..
Но скорее всего у меня косяк с самой КБ, потому как в итоге к вечеру вообще код JavaScript перестал выполняться (причем любой)...
Как выяснил - произошло это после того, как я решил скопировать одну категорию (создать копию) путем копирования именно категории с таблицами в ней - в итоге мне выдало какую-то ошибку, и я уже дальше копировал вручную каждую таблицу...
Но при первоначальном копировании всей категории создалась копия-категория и одна таблица в ней со служебными полями. При удалении данной таблицы также вываливалась ошибка, в общем удалить ее не представлялось возможным... Пришлось удалять через записи в БД. В итоге все умерло... Сейчас с нуля накидываю и копирую с еще кое-как живой старой КБ.. Кароче гемор на всю ночь... Потом отпишу что в итоге было - код кривой или КБ тупила.
#194
Отправлено 26 Апрель 2015 - 22:09
Вот код:
function onchange_{$one_field.id}() { var temp_switch = document.getElementById('value{$one_field.id}').value; //объявляем переменную и присваиваем ей значение поля выбора (при изменении которого необходимо обнулить форму) document.getElementById('edit_form').reset(); //обнуляем форму document.getElementById('value{$one_field.id}').value = temp_switch; //обратно присваиваем значение полю выбора (т.к. при обнулении формы данное поле также обнуляется) display_fgroup(150, document.getElementById('value{$one_field.id}').value=="Юридическое лицо"); display_fgroup(190, document.getElementById('value{$one_field.id}').value=="Физическое лицо"); display_field(4350, document.getElementById('value{$one_field.id}').value=="Юридическое лицо"); display_field(4400, document.getElementById('value{$one_field.id}').value=="Юридическое лицо"); display_field(4340, document.getElementById('value{$one_field.id}').value=="Физическое лицо"); display_field(4390, document.getElementById('value{$one_field.id}').value=="Физическое лицо"); } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id}); $(onchange_{$one_field.id});Скрытие происходит только после смены значения. При загрузке страницы видны все поля...(((
#195
Отправлено 26 Апрель 2015 - 22:20
//function onchange_hideusrbut1() //{ //document.getElementById('logi').style.display = 'none'; // // if (document.getElementById("value{$one_field.id}").value == "Редактирование") // { // document.getElementById('user_button_div_100').style.display = ''; // } // else // { // document.getElementById('user_button_div_100').style.display = 'none'; // } // //} // //{literal} //$(document).ready(function() { // onchange_hideusrbut1(); //}); //{/literal} //addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_hideusrbut1);Так вот если его отключить (как выше - закомментил все) - то первоначальный код на скрытие нужных полей работает с самого начала...
От чего такое может быть?
#196
Отправлено 26 Апрель 2015 - 22:23
#197
Отправлено 26 Апрель 2015 - 22:36
#198
Отправлено 26 Апрель 2015 - 23:00
#199
Отправлено 26 Апрель 2015 - 23:09
CbCoder (26 Апрель 2015 - 12:31) писал:
$(onchange_{$one_field.id});
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#200
Отправлено 26 Апрель 2015 - 23:31
Количество пользователей, читающих эту тему: 71
0 пользователей, 71 гостей, 0 анонимных