Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2013, 19:03
Интересующийся
Отправить личное сообщение для Garrys808 Посмотреть профиль Найти все сообщения от Garrys808
 
Регистрация: 15.02.2013
Сообщений: 16

Помогите настроить скрипт проверки Батонов и текстовых инпутов
Никак не получается настроить скрипт проверки заполнены ли все поля и выбраны ли параметры по радио баттонам работает либо то либо другое.
сам html такой
<FORM name="form1" action="otch_zak.php?title=<?php echo $title; ?>" method=post onSubmit="javascript: return checkForm(this)">
<table class="form_zakaz" >
	<tr class="ollcentr">
    	<td>
		<div class="topzak">
<table  cellspacing="10" class="toplistzak">
<tr>
		<td>
        <div class="td1"><?php echo $img_transf; ?></div>
        </td>
        <td valign="top" class="td2"><h2>
		<?php  echo $title_link; echo $title; ?></h2>

		<p>Маршрут: <?php echo $marschr; ?></p>
		</td>
        
        </tr>
        <tr>
        <td colspan="2" class="td3">
		<div id="d1">
   <table cellspacing="0" class="infoprice">
   		<tr>
        <td class="iprzak">цена чел. от</td>
        <td class="iprzak">авто Бизнесс класс 1-6 пасс.</td>
        <td class="iprzak">авто VIP класс 1-3 пасс.</td>
        <td class="iprzak">продолжит.</td>
        <td class="iprzak">период</td>
        </tr>
        <tr>
        <td class="iprzak"><?php echo $price_1; ?> &euro;</td>
        <td class="iprzak">selectauto<?php echo $price_bus; ?> &euro;<br><input name="selectauto" type="radio" value="1"></td>
        <td class="iprzak"><?php echo $price_vip; ?> &euro;<br><input name="selectauto" type="radio" value="2"></td>
        <td class="iprzak"><?php echo $times; ?></td>
        <td class="iprzak"><?php echo $periodoll; ?></td>
        </tr>
        </table>
		</div>
        </td>
</tr>

</table>
</div>
		</td>
    </tr>
    <tr>
    	<td>
        <table cellspacing="5" class="form_zakaz2">
    <tr>
	<td colspan="2"><b>Укажите дату *</b> (если не знаете точную дату, укажите период)</b> 
</td>
	</tr>
	<tr>
	<td align="right"><p>с*&nbsp;&nbsp;<INPUT name="data1" class="date" maxlength=10 ></p></td>
	<td align="left"><p>по&nbsp;&nbsp;<INPUT name="data2" class="date" maxlength=10 ></p></td>
	</tr>
	<tr>
    	<td class="left_form"><p><b>укажите количество пассажиров:*</b></p></td>
        <td class="right_form"><select name="people" >
                      <option value="" selected>0</option>
					  <option value="1">1</option>
                      <option value="2">2</option>
                      <option value="3">3</option>
					  <option value="4">4</option>
					  <option value="5">5</option>
					  <option value="6">6</option>
					  </select>
        </td>
    </tr>
	<tr>
	<td align="right"><b>предлагать свободные места желающим*<br>воспользоваться этой услугой?</b><br>(в этом случае стоимость будет снижена за счет дополнительных пассажиров)</td>
	<td align="left" valign="midle"><div id="d2"><INPUT name="free_place" type="radio" value="1">Да<input name="free_place" type="radio" value="2">Нет</div></td>
	</tr>
	<tr>
    	<td colspan="2"> <HR align=center width="650" color=gray noShade SIZE=1></td>
    </tr>
    <tr>
    	<td class="left_form">Ваше Имя:*</td>
        <td class="right_form"><INPUT name="name" maxlength=20></td>
    </tr>
     <tr>
    	<td class="left_form">Фамилия:*</td>
        <td class="right_form"> <INPUT name="fam" maxlength=30></td>
    </tr>
     <tr>
    	<td class="left_form">дата рождения (не обязательно):</td>
        <td class="right_form"><INPUT name="birth" maxlength=30></td>
    </tr>
     <tr>
    	<td colspan="2"><HR align=center width="650" color=gray noShade SIZE=1></td>
    </tr>
     <tr>
    	<td class="left_form">Страна:*</td>
        <td class="right_form"><input name="country" maxlength=50>
        </td>
    </tr>
    <tr>
    	<td class="left_form">Область, край (не обязательно):</td>
        <td class="right_form"><INPUT name="area" maxlength="100"></td>
    </tr>
     <tr>
    	<td class="left_form">Город:*</td>
        <td class="right_form"><INPUT name="city" maxlength="50"></td>
    </tr>
     <tr>
    	<td class="left_form">улица, номер дома и кв.:</td>
        <td class="right_form"><TEXTAREA name="addr" cols="20" rows="2" id="addr"></TEXTAREA></td>
    </tr>
     <tr>
    	<td class="left_form">e-Mail (для связи):*</td>
        <td class="right_form"><INPUT name="email" maxlength=30></td>
    </tr>
     <tr>
    	<td class="left_form">телефон (для связи):*</td>
        <td class="right_form"><INPUT name="phone" maxlength=15> </td>
    </tr>
      <tr>
    	<td align="left">Коментарий:</td>
        <td></td>
     </tr>
     <tr>
        <td class="ollcentr" colspan="2"><TEXTAREA class="inpkom" name="koment" cols="70" rows="10" id="koment"></TEXTAREA></td>
    </tr>
     
    </table>
    <CENTER>
             <h2><INPUT class="button_zak" type="submit" value="Отправить заявку"></h2>
			 <br>
    </CENTER>
       
    </td>
    </tr>
</table>
</form>


в таблице куча полей которые нужно заполнить и 2 группы по 2 радио кнопки в каждой группе обязательно человек должен выбрать одно из двух

сам скрипт проверки заполнения полей
function checkForm(f)
{
 if((f.fam.value=="")||(f.name.value=="")||(f.city.value=="")||(f.country.value=="")||(f.data1.value=="")||(f.addr.value=="")||(f.email.value=="")||(f.phone.value=="")||(f.people.value=="")||(f.selectauto== "0"))
 {
  alert("Вы указали не всю информацию!!! Все поля, кроме отмеченные *, обязательны для заполнения!");
  return false;
 }


скрипт проверки баттонов
function checkForm(f){
    if (chk('free_place') && chk('selectauto')){
        document.getElementById('d1').style.display='none';
        document.getElementById('d2').style.display='';
    }
}
function chk(name){
    var opt=document.getElementsByName(name);
    for (var i=0; i<opt.length; i++)
        if (opt[i].checked) return opt[i].value;
    return false;
}

если скрипт проверки полей еще как-то более менее стабильно работает, то скрипт проверки радио баттонов вообще отказывается, а в паре они вообще не работают

Последний раз редактировалось Garrys808, 15.02.2013 в 21:54.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2013, 20:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Garrys808,
тег формы вынесите за пределы таблицы/таблиц, второй тег формы где-то потерян, в таблице первой есть лишние теги, названия у функций совпадают, либо обьедините их содержимое , либо дайте разные имена.
только после этого если незаработает, можно смотреть далее.
id="d2" у вас пара, а id это уникальный номер

Последний раз редактировалось рони, 15.02.2013 в 20:47.
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2013, 22:02
Интересующийся
Отправить личное сообщение для Garrys808 Посмотреть профиль Найти все сообщения от Garrys808
 
Регистрация: 15.02.2013
Сообщений: 16

Это я прозевал, просто страница разбита на несколько блоков которые подгружаются с других страниц, все исправил. Но результат пока тот же
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2013, 22:17
Интересующийся
Отправить личное сообщение для Garrys808 Посмотреть профиль Найти все сообщения от Garrys808
 
Регистрация: 15.02.2013
Сообщений: 16

С проверкой заполнения полей проблем нет, все отлично работает, а вот с проверкой радио баттонов никак, как только я этот скрипт подключаю перестает работать и проверка заполнения полей, ее просто ремлю оставляю одну проверку радио баттонов - она не работает.
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2013, 22:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Garrys808, посмотрите вариант.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <title></title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>

<body>
<FORM name="form1" action="otch_zak.php?title=<?php echo $title; ?>" method=post onSubmit="javascript: return checkForm(this)">
<table class="form_zakaz" >
	<tr class="ollcentr">
    	<td>
		<div class="topzak">
<table  cellspacing="10" class="toplistzak">
<tr>
		<td>
        <div class="td1"><?php echo $img_transf; ?></div>
        </td>
        <td valign="top" class="td2"><h2>
		<?php  echo $title_link; echo $title; ?></h2>

		<p>Маршрут: <?php echo $marschr; ?></p>
		</td>

        </tr>
        <tr>
        <td colspan="2" class="td3">
		<div id="d1">
   <table cellspacing="0" class="infoprice">
   		<tr>
        <td class="iprzak">цена чел. от</td>
        <td class="iprzak">авто Бизнесс класс 1-6 пасс.</td>
        <td class="iprzak">авто VIP класс 1-3 пасс.</td>
        <td class="iprzak">продолжит.</td>
        <td class="iprzak">период</td>
        </tr>
        <tr>
        <td class="iprzak"><?php echo $price_1; ?> &euro;</td>
        <td class="iprzak">selectauto<?php echo $price_bus; ?> &euro;<br><input name="selectauto" type="radio" value="1"></td>
        <td class="iprzak"><?php echo $price_vip; ?> &euro;<br><input name="selectauto" type="radio" value="2"></td>
        <td class="iprzak"><?php echo $times; ?></td>
        <td class="iprzak"><?php echo $periodoll; ?></td>
        </tr>
        </table>
		</div>
        </td>
</tr>

</table>
</div>
		</td>
    </tr>
    <tr>
    	<td>
        <table cellspacing="5" class="form_zakaz2">
    <tr>
	<td colspan="2"><b>Укажите дату *</b> (если не знаете точную дату, укажите период)</b>
</td>
	</tr>
	<tr>
	<td align="right"><p>с*&nbsp;&nbsp;<INPUT name="data1" class="date" maxlength=10 ></p></td>
	<td align="left"><p>по&nbsp;&nbsp;<INPUT name="data2" class="date" maxlength=10 ></p></td>
	</tr>
	<tr>
    	<td class="left_form"><p><b>укажите количество пассажиров:*</b></p></td>
        <td class="right_form"><select name="people" >
                      <option value="" selected>0</option>
					  <option value="1">1</option>
                      <option value="2">2</option>
                      <option value="3">3</option>
					  <option value="4">4</option>
					  <option value="5">5</option>
					  <option value="6">6</option>
					  </select>
        </td>
    </tr>
	<tr>
	<td align="right"><b>предлагать свободные места желающим*<br>воспользоваться этой услугой?</b><br>(в этом случае стоимость будет снижена за счет дополнительных пассажиров)</td>
	<td align="left" valign="midle"><div id="d2"><INPUT name="free_place" type="radio" value="1">Да<input name="free_place" type="radio" value="2">Нет</div></td>
	</tr>
	<tr>
    	<td colspan="2"> <HR align=center width="650" color=gray noShade SIZE=1></td>
    </tr>
    <tr>
    	<td class="left_form">Ваше Имя:*</td>
        <td class="right_form"><INPUT name="name" maxlength=20></td>
    </tr>
     <tr>
    	<td class="left_form">Фамилия:*</td>
        <td class="right_form"> <INPUT name="fam" maxlength=30></td>
    </tr>
     <tr>
    	<td class="left_form">дата рождения (не обязательно):</td>
        <td class="right_form"><INPUT name="birth" maxlength=30></td>
    </tr>
     <tr>
    	<td colspan="2"><HR align=center width="650" color=gray noShade SIZE=1></td>
    </tr>
     <tr>
    	<td class="left_form">Страна:*</td>
        <td class="right_form"><input name="country" maxlength=50>
        </td>
    </tr>
    <tr>
    	<td class="left_form">Область, край (не обязательно):</td>
        <td class="right_form"><INPUT name="area" maxlength="100"></td>
    </tr>
     <tr>
    	<td class="left_form">Город:*</td>
        <td class="right_form"><INPUT name="city" maxlength="50"></td>
    </tr>
     <tr>
    	<td class="left_form">улица, номер дома и кв.:</td>
        <td class="right_form"><TEXTAREA name="addr" cols="20" rows="2" id="addr"></TEXTAREA></td>
    </tr>
     <tr>
    	<td class="left_form">e-Mail (для связи):*</td>
        <td class="right_form"><INPUT name="email" maxlength=30></td>
    </tr>
     <tr>
    	<td class="left_form">телефон (для связи):*</td>
        <td class="right_form"><INPUT name="phone" maxlength=15> </td>
    </tr>
      <tr>
    	<td align="left">Коментарий:</td>
        <td></td>
     </tr>
     <tr>
        <td class="ollcentr" colspan="2"><TEXTAREA class="inpkom" name="koment" cols="70" rows="10" id="koment"></TEXTAREA></td>
    </tr>

    </table>
    <CENTER>
             <h2><INPUT class="button_zak" type="submit" value="Отправить заявку"></h2>
			 <br>
    </CENTER>

    </td>
    </tr>
</table>
</form>
<script language="JavaScript" type="text/javascript">
function checkForm(f){
 if((f.fam.value=="")||(f.name.value=="")||(f.city.value=="")||(f.country.value=="")||(f.data1.value=="")||(f.addr.value=="")||(f.email.value=="")||(f.phone.value=="")||(f.people.value=="")||(f.selectauto== "0"))
 {
  alert("Вы указали не всю информацию!!! Все поля, кроме отмеченные *, обязательны для заполнения!");}

    if (chk('free_place') && chk('selectauto')){
        document.getElementById('d1').style.display='none';
        document.getElementById('d2').style.display='';
    }
return false;
}

function chk(name){
    var opt=document.getElementsByName(name);
        if (opt[1].checked) return true;
        return false

}
</script>
</body>

</html>
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2013, 22:34
Интересующийся
Отправить личное сообщение для Garrys808 Посмотреть профиль Найти все сообщения от Garrys808
 
Регистрация: 15.02.2013
Сообщений: 16

function checkForm(f){

if (chk('free_place') && chk('selectauto')){

document.getElementById('d1').style.display='none' ;

document.getElementById('d2').style.display='';

}

}
эту часть скрипта с переключением я совсем убрал
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2013, 22:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Garrys808,
Сформулируйте чего нехватает? или уже всё есть?
Ответить с цитированием
  #8 (permalink)  
Старый 15.02.2013, 22:46
Интересующийся
Отправить личное сообщение для Garrys808 Посмотреть профиль Найти все сообщения от Garrys808
 
Регистрация: 15.02.2013
Сообщений: 16

не работает скрипт
сейчас я убрал весь скрипт и оставил только эту часть чтобы убедится работает проверка радио батонов или нет

function chk(name){
    var opt=document.getElementsByName(name);
    for (var i=0; i<opt.length; i++)
        if (opt[i].checked) return opt[i].value;
    return false;
}


но она к сожалению не работает
Ответить с цитированием
  #9 (permalink)  
Старый 15.02.2013, 22:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Garrys808,
работает ваш скрипт, может уточните что он по вашему должен делать но не делает?
Ответить с цитированием
  #10 (permalink)  
Старый 15.02.2013, 23:04
Интересующийся
Отправить личное сообщение для Garrys808 Посмотреть профиль Найти все сообщения от Garrys808
 
Регистрация: 15.02.2013
Сообщений: 16

у меня на странице поля для заполнения заявки они заполняются текстом и есть 2 группы в каждой из которых нужно выбрать только либо ту либо другую опцию. Так вот скрипт должен проверять выбрана ли какая либо из опций в обеих группах
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите! "Не работает скрипт отсчета времени! Я нуб) Dobson Общие вопросы Javascript 4 28.05.2011 18:20
Помогите настроить скрипт раскрывающегося меню melomanfm Работа 6 10.08.2009 01:21
Помогите настроить скрипт Helena Я не знаю javascript 1 08.06.2009 11:19
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05