Доброе время суток, люди добрые и злые!)
У меня вопрос по поводу проверки заполнения полей форм обратной связи. Вообще задача у меня в следующем:
Есть форма обратной связи в которой заполняються все поля
и надо сделать проверку заполнености этих полей, козалось бы него лёгкого, проверку может написать любой а с Гуглем и Яндексом можно и скопироват, я могу и сам ее написать но мой заказчик оригинал, он просит следующее – до заполнения всех полей кнопка отправить не была активна, а после заполнения этих полей она становилась активной. Вот подскажите мне как это реализовать, хотябы с помощью каких функций. а адльше сам допру, мне так сказать пинок нужен в првельную сторону для разгона. Заранее благодарен!)
6 сентября 2008 в 22:04
> почему в блоке if можно не указывать else?
Зачем? Что на это else должно выполняться?
Как только мы нашли пустую строку мы заблокировали кнопку и вышли из процедуры. Если же мы не нашли ни одной пустой строки мы кнопку разблокировали
6 сентября 2008 в 20:01
вот функция только сдесь надо поменять checkbox на твои поля, думаю разберешься..
<script>
function agreeForm(f) {
// Если поставлен флажок, снимаем блокирование кнопки
if (f.agree.checked) f.submit.disabled = 0
// В противном случае вновь блокируем кнопку
else f.submit.disabled = 1
}
</script>
<form>
<textarea cols="30" rows="4" readonly>
Типовой договор
</textarea>
<p><input type="checkbox" name="agree" onClick="agreeForm(this.form)"> Я согласен со всеми условиями</p>
<p><input type="submit" name="submit" value="Далее" disabled></p>
</form>
6 сентября 2008 в 10:00
Спасибо!)
Только один вопрос по синтаксису, а почему в блоке if можно не указывать else?
5 сентября 2008 в 22:03
Рекомендую переписать функцию так
[src]function test(form){
for (var i = 1; i < 7; i++){
if (form["text"+i].value == "") {
document.getElementById('send').disabled=true;
return;
}
}
document.getElementById('send').disabled=false;
}[/src]
Пооптимальней будет
5 сентября 2008 в 19:04
Реализовал данное следующим образом:
[src]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<script language="JavaSсript" type="text/javasсript">
<!–
function test(form){
var i;
var r;
r=1;
for (i=1; i < 6; i++){
if (form["text"+i].value == "")
{
r=0;
}
}
if(r==0){
document.getElementById('send').disabled=true;
}
else{
document.getElementById('send').disabled=false;
}
}
//–>
</script>
</head>
<body>
<form action="">
<input type="text" name="text1" size="39" value="" onchange="test(this.form)">
<input type="text" name="text2" size="39" value="" onchange="test(this.form)">
<input type="text" name="text3" size="39" value="" onchange="test(this.form)">
<input type="text" name="text4" size="39" value="" onchange="test(this.form)">
<input type="text" name="text5" size="39" value="" onchange="test(this.form)">
<input type="text" name="text6" size="39" value="" onchange="test(this.form)">
<input type="submit" id="send" name="submit" value="Send" disabled="disaled" >
</form>
</body>
</html>
[/src]
5 сентября 2008 в 19:04
немного поправить надо:
[src]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<script language="JavaSсript" type="text/javasсript">
<!–
function test(form){
var i;
var r;
r=1;
for (i=1; i < 6; i++){
if (form["text"+i].value == "")
{
r=0;
}
}
if(r==0){
document.getElementById('send').disabled=true;
}
else{
document.getElementById('send').disabled=false;
}
}
//–>
</script>
</head>
<body>
<form action="">
<input type="text" name="text1" size="39" value="" onchange="test(this.form)">
<input type="text" name="text2" size="39" value="" onchange="test(this.form)">
<input type="text" name="text3" size="39" value="" onchange="test(this.form)">
<input type="text" name="text4" size="39" value="" onchange="test(this.form)">
<input type="text" name="text5" size="39" value="" onchange="test(this.form)">
<input type="text" name="text6" size="39" value="" onkeypress="test(this.form)">
<input type="submit" id="send" name="submit" value="Send" disabled="disaled" >
</form>
</body>
</html>
[/src]
в последней строке надо поставить кейпресс событие, для того, чтобы не наткнуться на чайника, потому как не все догадаются убрать фокус с строки ввода, для запуска скрипта.
5 сентября 2008 в 16:02
Извиняюсь, немного ошибся на JavaSсript.
5 сентября 2008 в 16:01
Евгений aka zZloy Будан
Спасибо конечно) но делфи не вариант, надо на яве) Но всеравно спасибо!) Альгоритм то всеровно один))) я какраз через цыклы проверки на яве пытаюсь сделать)
5 сентября 2008 в 11:00
а еще можно использовать regexpr
что-то типа (на память) var mail = /form/\w@\w\.\w/
5 сентября 2008 в 10:04
[src][Delphi]
{Property editor: btnSend.Enabled = False;}
….
Var
Edits: array [1..10] of TEdit;
….
….
function Filled : Boolean
var
i: integer;
AllFilled: boolean;
begin
AllFilled := true;
For i = 0 To 9 Do
begin
if Edits[i].Text = '' then
Allfilled := false;
endif;
end;
Filled := Allfilled;
end;
[src][Delphi]
немного коряво, но я бы так проверил,
в условии можно сделать проверку на коррекность введеной инфы (для мыла например)
5 сентября 2008 в 8:01
Искандер Губайдуллин
Как сделать проверку на JS я знаю, но нужно именно с отключением кнопки)
Антон Щиров
Спасибо!) Это уже на талкивает на мысли!)
Денис Dain Лугавцов
Спасибо за идею!) буду пробовать реализовать)
5 сентября 2008 в 0:03
я бы так сделал:
функция, которая проверяет содержимое всех полей, и если не встречает пустое поле – активирует кнопку (см.выше).
вызывается функция на событие onchange для каждого поля
4 сентября 2008 в 21:05
[src]
<input id="buttonSend" disabled="disabled" value="Send" type="submit" />
………….
<script type="text/javasсript"">
document.getElementById('buttonSend').disabled = false;
</script>
[/src]
4 сентября 2008 в 21:02
Может на яваскрипте можно проверку заполненности сделать? А насчет неактивной кнопки не знаю (помог называется)) )