Javascript-форум (https://javascript.ru/forum/)
-   Учебные материалы (https://javascript.ru/forum/study/)
-   -   Значение по умолчанию если нечего не выбранно (https://javascript.ru/forum/study/56728-znachenie-po-umolchaniyu-esli-nechego-ne-vybranno.html)

Marmott 01.07.2015 13:48

Значение по умолчанию если нечего не выбранно
 
Здравствуйте
Такая проблема
Забираю значение из формы чекбоксом
var slivVal = document.querySelector('input[name="sliv"]:checked').value;

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

рони 01.07.2015 15:11

var slivVal = document.querySelector('input[name="sliv"]:checked') ? document.querySelector('input[name="sliv"]:checked').value : 0;

:-?

Marmott 01.07.2015 15:23

спасибо

kostyanet 08.07.2015 05:06

Ну как обычно. Колхозный вопрос - колхозный ответ.

Индентификатор два раза - это уже признак допущения Рони.

Не показывать как это делается - верный признак всех роней.

Не важно, делайте как в вашем колхозе принято пока вас лапша не задшит.

рони 08.07.2015 07:54

kostyanet,
то есть всё амба ТС никогда не научится кешировать :cray: светочь ты наш :thanks:

kostyanet 08.07.2015 10:59

Я не знаю что такое "кешировать" и как этому можно научиться. Я знаю что в нормальном приложении данные берутся из переменной куда они кладутся по прерыванию от действий юзера.

KosBeg 08.07.2015 11:16

Цитата:

Сообщение от kostyanet
Индентификатор два раза - это уже признак допущения Рони.

а как нужно? так?
var ident = document.querySelector('input[name="sliv"]:checked');
var slivVal = ident ? ident.value : 0;

рони 08.07.2015 12:07

KosBeg,
:victory: :) ты нас спас!!!

KosBeg 08.07.2015 12:09

Цитата:

Сообщение от рони
KosBeg,
:victory: :) ты нас спас!!!

Костян летит на помощь Костяну и Рони :lol:

KosBeg 08.07.2015 12:15

Хоть для себя понял что вы имели ввиду :dance:

left.reger 19.12.2015 20:25

Какие-то странные проверки checkbox на checked ). Если искать
document.querySelector('input[name="sliv"]:checked')

input c name="sliv" да еще и чекнутый, то естественно, что не чекнутый и не найдет. А у не найденного и value, естественно будет не заданно.
Уж лучше как-нибудь так:
var slivVal = document.querySelector('input[name="sliv"]').checked;

Ну а стебаться над новичками, это конечно хорошо, но лучше все таки помочь.

рони 19.12.2015 20:37

left.reger,
просто чем ваш вариант лучше двух остальных?
var slivVal = document.querySelector('input[name="sliv"]').checked;
   slivVal = slivVal ? document.querySelector('input[name="sliv"]').value : 0;


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