Валидация формы
Имеется форма:
<form action="result.php" method="post" onsubmit="return checkForm(this)"> <table align="center" cellpadding="3" > <tr> <td><strong>ФИО:</strong></td> <td><input size="52" type="text" name="name" id="name" value="" /></td> <td>*</td> </tr> <tr> <td><strong>Телефон:</strong></td> <td><input size="52" type="text" name="tel" id="tel" value="" /></td> <td>*</td> </tr> <tr> <td><strong>E-mail: </strong></td> <td><input size="52" type="text" name="email" id="email" value="" /></td> <td>*</td> </tr> <tr> <td valign="top" width="150"><strong>Сообщение:</strong></td> <td><textarea name="text" cols="40" rows="10"></textarea></td> <td valign="top">*</td> </tr> <tr> <td><font color="#c9c9c9"><strong>участие</strong></font></td> </tr> <tr> <td> <div id="tr"><input type="radio" name="training" value="yes" />да<br /> <input type="radio" name="training" value="no" />нет</div> </td> </tr> <tr> <td><font color="#c9c9c9"><strong>даты</strong></font></td> </tr> <tr> <td> <div id="ar"><input type="radio" name="arrive" value="10" />10 февраля<br /> <input type="radio" name="arrive" value="11" />11 февраля</div> </td> </tr> <tr> <td> <div id="gf"><input type="radio" name="get_off" value="11" />11 февраля<br /> <input type="radio" name="get_off" value="12" />12 февраля</div> </td> </tr> <tr> <td colspan="3" align="center"> <input type="submit" name="do" value="Отправить" /> </td> </tr> </table> </form> и вот такая функия: function checkForm(f) { var retVal = true; var fields = ['name', 'tel', 'email', 'text']; for (var i = 0; i < fields.length; i++) { f[fields[i]].className = ''; if (f[fields[i]].value == '') { f[fields[i]].className = 'error'; retVal = false; } } if (!f['email'].value.match("^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$")) { f['email'].className = 'error'; retVal = false; } return retVal; } Не могу связать эту функцию с проверкой еще и нажатия радиокнопок. То есть если не нажаты радиокнопки нужна тоже подцветка. Как это реализовать? |
Или вот у меня каждый блок радио кнопок заключен в дивы. Как сделать вот как: если инпуты конкретного дива не содержат чеккед, то фон дива цветом, ну и так для всех.
|
в хтмле добавь class такой же как и name
<input type="radio" class="training" name="training" value="yes" />да<br /> <input type="radio" class="training" name="training" value="no" />нет</div> <input type="radio" class="arrive" name="arrive" value="10" /> <input type="radio" class="arrive" name="arrive" value="11" /> <input type="radio" class="get_off" name="get_off" value="11" /> <input type="radio" class="get_off" name="get_off" value="12" /> в функции в низ добавь это var Arr=new Array() Arr[0]='training' Arr[1]='arrive' Arr[2]='get_off' var total=Arr.length var count=0 for(var j=0; j<Arr.length; j++){ var a=document.getElementsByClassName(Arr[j]) for(var i=0; i<a.length; i++){ if(a[i].checked==true){count++} } } if(count!=total){retVal=false} else {retVal=true} |
Часовой пояс GMT +3, время: 16:24. |