Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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>
Ответить с цитированием
  #2 (permalink)  
Старый 23.08.2010, 08:25
Аватар для Kos
Kos Kos вне форума
Аспирант
Отправить личное сообщение для Kos Посмотреть профиль Найти все сообщения от Kos
 
Регистрация: 01.09.2008
Сообщений: 79

Сообщение от noodly90210 Посмотреть сообщение
2. Как узнать или оба чек бокса unchecked. В Java-Script есть только checked, а мне нужно именно "uncheked".
ну как бы если св-во checked == false - то, соответственно, галки нет

Сообщение от noodly90210 Посмотреть сообщение
Ява скрипт проверяет не выбраны ли оба чек бокса сразу
а почему бы не использовать элементы radio?

Сообщение от noodly90210 Посмотреть сообщение
if (!errorList.length){
    return true;   
    window.location.href = "http://www.ghhtrhhrhrhcbh.ru";
    //ВОТ ЭТО ПЕРЕАДРЕСАЦИЯ, НО ОНА ПОЧЕМУ-ТО НЕ РАБОТАЕТ
}
ну вот потому что return true; стоит, поэтому и не работает, ибо в этом месте происходит завершение выполнения функции
Ответить с цитированием
  #3 (permalink)  
Старый 23.08.2010, 16:14
Новичок на форуме
Отправить личное сообщение для noodly90210 Посмотреть профиль Найти все сообщения от noodly90210
 
Регистрация: 01.08.2010
Сообщений: 2

Да, спасибо, логику теперь я понял, но вопрос остался: где расположить эту переадрессацию в коде, чтоб она работала?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переадрессация на печеньках nemo Я не знаю javascript 36 26.05.2009 00:21