Показать сообщение отдельно
  #1 (permalink)  
Старый 23.08.2010, 01:11
Новичок на форуме
Отправить личное сообщение для noodly90210 Посмотреть профиль Найти все сообщения от noodly90210
 
Регистрация: 01.08.2010
Сообщений: 2

Переадрессация по условию
Написал простенькую форму из двух чекбоксов и кноки. Ява скрипт проверяет не выбраны ли оба чек бокса сразу, если "не выбраны" то переходит на другую страницу. Вопрос вот в чем:
1. Почему в указанном месте (указал в коде) не происходит переходит на другую страницу, т.е после return true (если проверка прошла успешно).
2. Как узнать или оба чек бокса unchecked. В Java-Script есть только checked, а мне нужно именно "uncheked".

<form onsubmit="return checkForm(this);"> 
      <input type="hidden" /> 
            <input type="checkbox" name="a" value="music" id="myCheckbox1"/> Research 1<br/> 
            <input type="checkbox" name="b" value="TV" id="myCheckbox2"/> Research 2<br/> 
      <br/> 
      <input type="submit" value="Next" /> 
</form>

<script>

function checkForm(form) { 
      var type; // Атрибут type для input-ов 
      // Массив списка ошибок, по дефолту пустой 
      var errorList = []; 
      // Хэш с текстом ошибок (ключ - ID ошибки) 
      var errorText = { 
            1 : "Check only one kind of research!", 
            2 : "Check at seems one kind of research!", 
      } 
                              if ((document.getElementById('myCheckbox1').checked)&&(document.getElementById('myCheckbox2').checked)){ errorList.push(1)}
			      // Если массив ошибок пуст - возвращаем true
	   if (!errorList.length){
		    return true;	
		   window.location.href = "http://www.ghhtrhhrhrhcbh.ru";
	   //ВОТ ЭТО ПЕРЕАДРЕСАЦИЯ, НО ОНА ПОЧЕМУ-ТО НЕ РАБОТАЕТ
	    
	   }
	  
      // Если есть ошибки - формируем сообщение, выовдим alert 
      // и возвращаем false 
	   
      var errorMsg = "You make mistake:\n\n"; 
      for (i = 0; i < 1; i++) { 
            errorMsg += errorText[errorList[i]] + "\n"; 
      } 
      alert(errorMsg); 
	
      return false;
	  
	  }
	
</script>
Ответить с цитированием