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

HTML+CSS+JavaScript

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

 

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

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

тема: минимум одно значение чекбоксов
 
 автор: ronin   (17.12.2007 в 13:14)   письмо автору
 
 

Здравствуйте! Прошу помощи в ява-скрипте: требуется вызов alert в случае если пользователь не отметил ниодного из чекбоксов


<input id="checkbox_row_1" type="CheckBox" name="subscribe[]" value="1"><br>
<input id="checkbox_row_2" type="CheckBox" name="subscribe[]" value="2"><br>
<input id="checkbox_row_3" type="CheckBox" name="subscribe[]" value="3"><br>
<input id="checkbox_row_4" type="CheckBox" name="subscribe[]" value="4"><br>
<input id="checkbox_row_5" type="CheckBox" name="subscribe[]" value="5"><br>

   
 
 автор: yuk   (17.12.2007 в 15:13)   письмо автору
 
   для: ronin   (17.12.2007 в 13:14)
 

Если эти чекбоксы находятся в форме, и проверяются перед отправкой - то можно так:

<script>
function sendform(){
    var f=document.forms['form1'];
    for(i=0;i<f.length;i++){
        if(f[i].type=="checkbox" && f[i].checked){
            return true;
        }
    }
    alert("Ничего не выбрано!");
    return false;
}    
</script>

<form name="form1" onsubmit="return sendform()" method="post">    
<input id="checkbox_row_1" type="CheckBox" name="subscribe[]" value="1"><br> 
<input id="checkbox_row_2" type="CheckBox" name="subscribe[]" value="2"><br> 
<input id="checkbox_row_3" type="CheckBox" name="subscribe[]" value="3"><br> 
<input id="checkbox_row_4" type="CheckBox" name="subscribe[]" value="4"><br> 
<input id="checkbox_row_5" type="CheckBox" name="subscribe[]" value="5"><br>
<input type="submit" value="Pusk">
</form>

   
 
 автор: ronin   (17.12.2007 в 15:28)   письмо автору
 
   для: yuk   (17.12.2007 в 15:13)
 

не получается может это сделать так: в пхп есть функция count может подсчитать количество элементов массива, но я не знаю как в массив ява-скрипт загнать инпуты формы.

   
 
 автор: yuk   (17.12.2007 в 15:38)   письмо автору
 
   для: ronin   (17.12.2007 в 15:28)
 

Можно и на PHP, но все должно работать (у меня этот код прекрасно работает). Покажите, как вы делаете?

   
 
 автор: ronin   (17.12.2007 в 16:22)   письмо автору
 
   для: yuk   (17.12.2007 в 15:38)
 

точно получилось, Спасибо!

   
 
 автор: ronin   (17.12.2007 в 16:37)   письмо автору
 
   для: ronin   (17.12.2007 в 16:22)
 

еще вопрос:
а как эту функцию вставить в другую т.е.

function Validator(theForm)
{

  if (theForm.name.value == "")
  {
    alert("не заполнено поле имя!");
    theForm.name.focus();
    return (false);
  }

  
  return (true);
}

а форма начинается так
<form name="forma" action="add_reg.php" onsubmit="return Validator(this)" method="post">

   
 
 автор: yuk   (17.12.2007 в 17:47)   письмо автору
 
   для: ronin   (17.12.2007 в 16:37)
 

Можно эту функцию (Validator) подкорректировать следующим образом:

function Validator(theForm)

if (theForm.name.value == "") 

    alert("не заполнено поле имя!"); 
    theForm.name.focus(); 
    return (false); 

for(i=0;i<theForm.length;i++){
    if(theForm[i].type=="checkbox" && theForm[i].checked)
        return true;
}
alert ("Ничего не выбрано!");
    return false; 
}

   
 
 автор: ronin   (17.12.2007 в 18:03)   письмо автору
 
   для: yuk   (17.12.2007 в 17:47)
 

Большое человеческое спасибо!

   
 
 автор: sim5   (17.12.2007 в 17:55)   письмо автору
 
   для: ronin   (17.12.2007 в 16:37)
 

И что это вам даст? Это не разумно. Лучше укажите элементы LABEL для полей формы, и тогда вы можете отображать тот текст, который видит пользователь у поля формы, и который никак не будет привязан к ее имени.

   
 
 автор: ronin   (17.12.2007 в 18:05)   письмо автору
 
   для: sim5   (17.12.2007 в 17:55)
 

нельзя ли подробнее - я в яве абсолютно ничего не понимаю

   
 
 автор: sim5   (17.12.2007 в 18:16)   письмо автору
 
   для: ronin   (17.12.2007 в 18:05)
 

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

   
 
 автор: ronin   (17.12.2007 в 19:26)   письмо автору
 
   для: sim5   (17.12.2007 в 18:16)
 

сразу не моймешь, буду разбиратся, спасибо за инфу!

   
Rambler's Top100
вверх

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