Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка состояния чекбоксов
 
 автор: inga   (23.11.2007 в 16:43)   письмо автору
 
 

я хочу проверять два условия:
1) чекбокс не нажат(но его можно нажать) тогда false;
2) чек бокс серенький не активный(его нажать нельзя) или чек бокс нажат тогда true;

как это сделать?
сложность возникает с чек бокс серенький не активный(его нажать нельзя) как его определить?
уточняю, чтобы меня поняли:
idocument.forms['zakForm'].elements[ i].checked != true - не нажат и этоже реагирует и на чек бокс серенький не активный(его нажать нельзя)
а надо как то разделить эти два понятию для моего скрипта

   
 
 автор: slawik   (23.11.2007 в 16:55)   письмо автору
 
   для: inga   (23.11.2007 в 16:43)
 

За активность и неактивность отвечает свойство disabled

   
 
 автор: aexb   (23.11.2007 в 19:39)   письмо автору
 
   для: inga   (23.11.2007 в 16:43)
 

Я не знаю, насколько я вас правильно понял, но вот минут за 10 написал скрипт, который проверяет оба эти свойства чекбоксов. Если что - задавайте вопросы :)
<style>span {color: blue; border-bottom: 1px dashed blue; cursor: pointer; cursor: hand;}</style>

<script>
function dis(id) {
    var obj=document.getElementById(id);
    if (!obj.disabled) {obj.disabled = !0} else {obj.disabled = 0}
}

function viewboxes() {
    var obj=document.getElementById('boxnumber').value;    
    var obj=document.getElementById(obj);
    if (obj.disabled) {alert('Disabled!')} else {alert('Enabled!')}
    if (obj.checked) {alert('Checked!')} else {alert('Not checked!')}
    return false;
}
</script>

<span onclick="dis('1')">disable/enable</span><input type="checkbox" id="1">one<br/>
<span onclick="dis('2')">disable/enable</span><input type="checkbox" id="2">two<br/>
<span onclick="dis('3')">disable/enable</span><input type="checkbox" id="3">three<br/>
<span onclick="dis('4')">disable/enable</span><input type="checkbox" id="4">four<br/>
<span onclick="dis('5')">disable/enable</span><input type="checkbox" id="5">five<br/>
<span onclick="dis('6')">disable/enable</span><input type="checkbox" id="6">six<br/>

<p>Введите номер чекбокса для проверки:<br/>
<input type="text" id="boxnumber" value=""><br/>
<input type="button" value="check" onclick="viewboxes()">

   
 
 автор: inga   (26.11.2007 в 10:03)   письмо автору
 
   для: aexb   (23.11.2007 в 19:39)
 

не знаю, почему у меня тогда не работает? я проверяю если в диапазоне все чек боксы нажаты или неактивны, тогда все ок, если есть не нажатый тогда ошибка

for(var i = ot+1; i < doo; i++){
if(document.forms['zakForm'].elements['mes' + i].checked == true || document.forms['zakForm'].elements['mes' + i].disabled == true)
var er=0;
if(document.forms['zakForm'].elements['mes' + i].checked != true)
var er=1;}
if(er==1)
alert('ошибка');

и в любом случае возвращает ошибку

   
 
 автор: inga   (26.11.2007 в 10:18)   письмо автору
 
   для: inga   (26.11.2007 в 10:03)
 

ой, я дура дурная! Поняла:

for(var i = ot+1; i < doo; i++)

if(document.forms['zakForm'].elements['mes' + i].checked == true || document.forms['zakForm'].elements['mes' + i].disabled == true) 
var er=0; 
if(document.forms['zakForm'].elements['mes' + i].checked != true) 
{
if(document.forms['zakForm'].elements['mes' + i].disabled == true)
continue;
var er=1;
}

if(er==1) 
alert('ошибка'); 

то что не нажат проверила, но он же может быть не активный, что значит тоже не нажатый

   
 
 автор: aexb   (24.01.2008 в 11:29)   письмо автору
 
   для: inga   (26.11.2007 в 10:18)
 

Кстати говоря, нет. Чекбокс может быть неактивным, но нажатым.
В том случае, если он сначала был активен, потом на нем поставили галку, а потом задизаблили, он все равно останется нажатым :)

   
 
 автор: sim5   (26.11.2007 в 10:18)   письмо автору
 
   для: inga   (26.11.2007 в 10:03)
 

А что вы хотите, проверить - заполнение формы перед отправкой? Или вам нужно по выбранным чекбоксам произвести какие-то действия? Например, сделать чекбокс неактивным, имеет смысл тогда, когда подразумевается, что после выбора чекбокса, его состояние уже нельзя менять. Значит достаточно проверить только выбранные чекбоксы, а то, что они не активны, уже подразумевается.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования