Просмотр полной версии : значения Checkbox'ов и отправка формы
Всем привет!
Передаю параметры GET'ом. CHECKBOX'ы проверяю перед отправкой ява-скриптом:
function check_checkbox(form_name)
{
for(i=0; i<document.forms[form_name].length; i++)
{
if(document.forms[form_name].elements[i].type == "checkbox")
{
if(document.forms[form_name].elements[i].checked)
{
document.forms[form_name].elements[i].value = 1;
alert(document.forms[form_name].elements[i].value);
}
else
{
document.forms[form_name].elements[i].value = 0;
alert(document.forms[form_name].elements[i].value);
}
}
}
}
Проблема в том, что неотмеченные чекбоксы почему-то не передаются. Их просто нет в адреной строке строке. Если функцию не использовать, то все в порядке, но тогда соответствующие параметр принимают значения "on" и "off", а обрабатывать это на стороне сервера не хочется...
Знает кто-нибудь, что тут можно сделать?
Спасибо.
А вот этого я совсем не понимаю:
function check_checkbox(form_name)
{
for(i=0; i<document.forms[form_name].length; i++)
{
if(document.forms[form_name].elements[i].type == "checkbox")
{
if(document.forms[form_name].elements[i].value == "on")
{
//document.forms[form_name].elements[i].value = 1;
//alert(document.forms[form_name].elements[i].value);
alert("on");
}
else
{
//document.forms[form_name].elements[i].value = 0;
//alert(document.forms[form_name].elements[i].value);
alert("off");
}
}
}
}
Поставлена ли галочка или нет, я получаю алерт "on". Почему, что не так?
Тебе кто-то обещал, что будет меняться значение "value"? Кто и когда так над тобой пошутил? :)
P.S. Открой справочник и посмотри, что меняется на самом деле.
ОК, а что скажешь на второе сообщение? Почему в независимости от того, есть ли галочка (даже если не менять значения, выданные при загрузке), у чекбокса значение "on"?
ОК, а что скажешь на второе сообщение? Почему в независимости от того, есть ли галочка (даже если не менять значения, выданные при загрузке), у чекбокса значение "on"?
Еще раз:
Тебе кто-то обещал, что будет меняться значение "value"? Кто и когда так над тобой пошутил?
P.S. Открой справочник и посмотри, что меняется на самом деле.
Почитай, кстати, на досуге (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_fp2003_ta/html/odc_fpValidatingFormControlsUsingJavaScript.asp)...
Спасибо за линк. Прочесть все хоть и не прочел (английский...), но по крайней мере что-то. Я обратил внимание на следующее: если checkbox отмечен, передается "on" (что мне не подходит), если же нет, то этот параметр просто игнорируется (что опять же не подходит, так как я хочу передать скрипту числовое значение 1 или 0).
Итак:
Проблема 1: Заставить броузер(?) передавать checkbox в нужном виде.
Проблема 2: Заставить броузер(?) передавать неотмеченные checkbox'ы.
Может, есть идеи?
но по крайней мере что-то.
Я надеялся, что ты обратишь внимание, что там есть готовые примеры с кодом... :)
Я обратил внимание на следующее: если checkbox отмечен, передается "on" (что мне не подходит), если же нет, то этот параметр просто игнорируется
Это было достаточно прочесть в любой пристойной книжке -- это не требует экспериментов.
что опять же не подходит, так как я хочу передать скрипту числовое значение 1 или 0
Вот и передавай. <input type="hidden">.
Да, я посмотрел готовые примеры, но, видимо, не те... :)
Огромное спасибо за hidden -- не подумал я об этом... Тогда все, конечно, просто, что-то в духе:
*JS*
function hisFunction(hisParameter)
{
if(bla-bla-bla...checked)
{
hisHidden=1;
}
else
{
hisHidden=0;
}
}
*HTML*
<input name=hisHidden type="hidden">
<input name=hisCheckbox type="checkbox" onblur="hisFunction('hisHidden')">
Благодарю! :)
Типа того.
hisHidden = hisCheckbox.checked ? 1 : 0;
а как ты из флеша передаешь пареметры чек боксам?
а как ты из флеша передаешь пареметры чек боксам?
С флэшом это никак не связано.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.