

Показ/скрытие полей через 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(){В этом случае JS запуститься только после формирования всей страницы.
onchange_{$one_field.id};
$('#value{$one_field.id}').change(function(){ on_change{$one_field.id}(); });
});
Творческая группа "ТАВР".
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
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных