Перейти к содержимому


Очистка значение полей при смене значения в списке

value reset

Сообщений в теме: 9

#1 serg63rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 52 сообщений

Отправлено 16 Март 2015 - 09:39

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

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

Вопрос в следующем - если в самом начале выбрать в списке определенный тип записи, заполнить соответствующие поля, а потом передумать и поменять тип записи - то значения, внесенные во все поля сохраняются (соответственно и в скрытые для данного значения списка). Таким образом в тех полях, в которых при текущем выборе списка не должно быть никаких значений - сохраняются старые (первоначально введенные) значения. Как можно при событии смены значения этого списка очищать все значения полей? (попробовал функцию
document.myform.reset()
, но она не работает).

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Март 2015 - 11:47

Просмотр сообщенияserg63rus (16 Март 2015 - 09:39) писал:

попробовал функцию
document.myform.reset()
, но она не работает.

Этот вариант js-синтаксиса устарел лет 15 как и может уже не работать. Тем более что имя формы там отнюдь не "myform", а "edit_form". Попробуйте вариант document.getElementById('edit_form').reset()

#3 serg63rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 52 сообщений

Отправлено 16 Март 2015 - 13:56

Просмотр сообщенияCbCoder (16 Март 2015 - 11:47) писал:

Этот вариант js-синтаксиса устарел лет 15 как и может уже не работать. Тем более что имя формы там отнюдь не "myform", а "edit_form". Попробуйте вариант document.getElementById('edit_form').reset()
Сработало, но проблема в том, что он автоматически очищает и значение списка выбора - в итоге вообще ничего не выберешь - выбераешь - срабатывает событие смена и все поля пустые))

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Март 2015 - 14:29

Так сохраняйте перед сбросом значение поля с выбором в переменную, а потом восстанавливайте. Либо делайте не тотальный сброс всех полей, а только нужных.

#5 serg63rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 52 сообщений

Отправлено 16 Март 2015 - 15:07

Просмотр сообщенияCbCoder (16 Март 2015 - 14:29) писал:

Так сохраняйте перед сбросом значение поля с выбором в переменную, а потом восстанавливайте. Либо делайте не тотальный сброс всех полей, а только нужных.
Не совсем понимаю как это делать.. пробовал
document.getElementById('id1234').reset()
document.getElementById('1234').reset()
document.getElementById('f1234').reset()
бестолку(( не пойму как указать именно конкретное поле. Есть номер поля (f1234), что я так понимаю является его id. Где искать подскажите))

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Март 2015 - 16:23

Причем тут reset() то? Метод reset() применяется к форме, а не полям. У поля достаточно просто обнулить его содержимое, т.е. свойство value.

Настоятельно рекомендую почитать руководство по JS, хотя бы базовые основы, т.к. у вас системное незнание предмета.

#7 serg63rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 52 сообщений

Отправлено 25 Апрель 2015 - 15:08

В общем не понимаю я, честно говоря поддержку.. Писать код Вы конечно не должны, но хотя бы указать на то где и что почитать при Вашей отвратительной документации, где половина примеров от первых версий, половина от новых, что-то работает, что-то нет... Здесь не все программисты, и если бы Вашу продукцию покупали бы только программисты - продажи были бы в разы меньше! Мне вот, к примеру, не нужно пока нанимать программиста чтобы подгонять все под себя, потому что у меня строительная компания, и четкого понимания что нужно пока нет (грубо говоря адекватное техзадание даже не можем написать, потому что еще не совсем понимаю какие аспекты деятельности можно перенести в КБ) - поэтому сам по мере наличия свободного времени ковыряюсь... И если бы Вы хотя бы указывали что именно почитать, о чем, а не тупо посылали учить матчасть - я думаю клиентов бы еще прибавилось. А так у вас подход - не программист - ну и нехера тебе здесь объяснять - заказывай услугу и вперед.. Форум, как мне кажется, как раз для объяснений и сделан. А если б я был программистом - я бы и сам разобрался, не спрашивая ни у кого ничего.. Кароче, все как обычно...

Для тех, кому это, возможно, пригодится:
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; //обратно присваиваем значение полю выбора (т.к. при обнулении формы данное поле также обнуляется)
}
addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});
$(onchange_{$one_field.id});

Вставлять данный код нужно в поле списка, при изменении которого необходим сброс значений. При необходимости вставить в другое поле необходимо вместо
value{$one_field.id}
прописать, к примеру
value111
, где 111 - id поля списка.

P.S. Для системно знающих предмет (CbCoder) - методом присвоения нулевого значения .value обнуляют не все поля! Дата, текстовые и т.п. обнуляются, а вот поля связи нет!

Сообщение отредактировал serg63rus: 25 Апрель 2015 - 15:14


#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Апрель 2015 - 18:57

Цитата

А так у вас подход - не программист - ну и нехера тебе здесь объяснять - заказывай услугу и вперед..

Это не какой-то специальный, унижающий вас, "подход", это констатация реальной картины мира. Приведу пример. Допустим, вам нужна программа, а готовой такой нет. И при этом вы не являетесь программистом. Вы что, будете сидеть на форумах просить научить вас программированию? Я думаю, любой вменяемый человек в этом случае либо закажет разработку профи, либо накупит книг / найдет документацию в интернете (благо, по программированию ее море) и научится программировать сам. А на форумах будет разве что спрашивать помощь по каким-то сложным специфическим задачам. Так вот, эта аналогия полностью применима и к программе "Клиентская база", если речь идет о написании кода, а не о каких-то настройках внутри программы.

К сожалению невозможно сделать КБ полностью настраиваемой без программистов, это утопия. Программа лишь ускоряет задачу построения приложения под себя. Да, часть задач по конфигурированию можно решить и неспециалистам, но писать программный код, не владея навыками программирования - нельзя. Об этом даже в документации предупреждение есть.

#9 serg63rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 52 сообщений

Отправлено 26 Апрель 2015 - 19:36

Просмотр сообщенияCbCoder (25 Апрель 2015 - 18:57) писал:

Это не какой-то специальный, унижающий вас, "подход", это констатация реальной картины мира. Приведу пример. Допустим, вам нужна программа, а готовой такой нет. И при этом вы не являетесь программистом. Вы что, будете сидеть на форумах просить научить вас программированию? Я думаю, любой вменяемый человек в этом случае либо закажет разработку профи, либо накупит книг / найдет документацию в интернете (благо, по программированию ее море) и научится программировать сам. А на форумах будет разве что спрашивать помощь по каким-то сложным специфическим задачам. Так вот, эта аналогия полностью применима и к программе "Клиентская база", если речь идет о написании кода, а не о каких-то настройках внутри программы.

К сожалению невозможно сделать КБ полностью настраиваемой без программистов, это утопия. Программа лишь ускоряет задачу построения приложения под себя. Да, часть задач по конфигурированию можно решить и неспециалистам, но писать программный код, не владея навыками программирования - нельзя. Об этом даже в документации предупреждение есть.

Ладно, все путем! Вчера просто настроение не очень было после того как вся КБ полетела...

А так я имел в виду, что код писать не нужно конечно, но хотя бы ссылку дать или объяснить толком что почитать - можно, ведь вы в этом на лету разбираетесь, а мне пришлось час читать что и как))) Благо старые навыки помогли...

И вообще подскажите пожалуйста, вы сотрудник КБ? или просто программист, который помогает? Я просто не вижу здесь никого из КБ, кроме Вас (если вы от них), кто реально что-то бы помогал и подсказывал..

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Апрель 2015 - 09:36

Цитата

И вообще подскажите пожалуйста, вы сотрудник КБ?

Да, это под аватаркой же написано.

Цитата

Я просто не вижу здесь никого из КБ, кроме Вас (если вы от них), кто реально что-то бы помогал и подсказывал.

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





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных