|
|
|
| Есть файл order.html:
<html>
<head>
<title>форма</title>
<script>
var textFields = null
var selectField = null
var selectFieldLabel = null
var MainSubmitButton = null
function RegisterRequiredTextFields (fieldsStr)
{
fieldsStr = fieldsStr.replace (/\s+$/g, "")
textFields = fieldsStr.split (' ')
}
function RegisterRequiredSelectField (fieldStr)
{
selectField = document.getElementById (fieldStr)
selectFieldLabel = document.getElementById (fieldStr + 'L')
}
function DisableSubmitButton()
{
MainSubmitButton = document.getElementById ('MainSubmitButton')
if (MainSubmitButton && (selectField || textFields)) MainSubmitButton.disabled = true
}
function ValidateRequired()
{
var ok = true
if (selectField)
{
if (!selectField.selectedIndex) ok = false
if (selectFieldLabel) selectFieldLabel.className = selectField.selectedIndex ? "valid" : "required"
}
if (textFields)
{
for (c = 0; c!=textFields.length ; c++)
{
var input = document.getElementById (textFields[c])
var label = document.getElementById (textFields[c] + 'L')
if (input && label)
{
var value = input.value
value = value.replace (/^\s+/g, "")
value = value.replace (/\s+$/g, "")
if (value == '') ok = false
label.className = value != '' ? "valid" : "required"
}
}
}
if (MainSubmitButton) MainSubmitButton.disabled = !ok
}
</script>
</head>
<body onload="DisableSubmitButton(); document.getElementById('q1').focus();">
<SCRIPT type=text/javascript>
<!--
RegisterRequiredTextFields('q1 q2'); RegisterRequiredSelectField('q3 q4');
//-->
</SCRIPT>
<form>
<div>
<table id="order_table" cellpadding=0 cellspacing=0 border=0 align=center>
<tr>
<td id="fld"><SPAN id=q1L>*</SPAN></td>
<td id="l">Ваше имя:</td>
<td>
<input id="q1" onkeyup="ValidateRequired()" type="text" value="" name="sender_name" maxlength=45>
</td>
</tr>
<tr>
<td id="fld"><SPAN id=q2L>*</SPAN></td>
<td id="l">E-mail:</td>
<td>
<input id="q2" onkeyup="ValidateRequired()" type="text" value="" name="sender_email" maxlength=30>
</td>
</tr>
<tr>
<td><SPAN id=q3L>*</SPAN></td>
<td id="l">Желаемый пол щенка:</td>
<td>
<select id="q3" name="puppy_sex"><option value="#" /><option value="any" />не имеет значения<option value="male" />кобель<option value="female" />сука</select><br />
</td>
</tr>
<tr>
<td><SPAN id=q4L>*</SPAN></td>
<td id="l">Предпочтительный возраст щенка:</td>
<td>
<select id="q4" name="puppy_age"><option value="#" /><option value="any" />не имеет значения<option value="3_m" />3 месяца<option value="6_m" />6 месяцев<option value="12_m" />12 месяцев<option value="adult" />взрослый</select><br />
</td>
</tr>
<tr>
<td></td>
<td>
</td>
<td>
<input id="MainSubmitButton" type="submit" value="Заказать">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
|
Javascript честно украден с одного из сайта и частично разобран и уже почти готов к употреблению.
Вопрос: как сделать так, чтобы кнопка submit не активизировалась без выбора значения <select>ов? То есть до тех пор, пока не будут заполнены ВСЕ поля со звездочками? | |
|
|
|
|
|
|
|
для: aexb
(28.04.2007 в 16:10)
| | Так у Вас и так это есть | |
|
|
|
|
|
|
|
для: zerocool
(28.04.2007 в 16:23)
| | у меня не работает. то есть, работает по двум текстовым полям, но не по селектам. мне необходимо, чтобы атрибут disabled убирался только после заполнения и текстовых полей, и выбора значений из всех селектов. | |
|
|
|
|
|
|
|
для: aexb
(28.04.2007 в 16:10)
| | неужто никто так и не поможет? :'( | |
|
|
|
|
|
|
|
для: aexb
(28.04.2007 в 21:48)
| | Немножко еще допеределав код и все-таки установив в <select>-ы обработчик события onchange получилось следующее - в прикрепленном файле: | |
|
|
|
|
|
|
|
для: ilyaILF
(28.04.2007 в 22:42)
| | спасибо огромное! ))) | |
|
|
|