singlepost

Вопрос о заполнении форм обратной связи. << На главную или назад  

Доброе время суток, люди добрые и злые!)
У меня вопрос по поводу проверки заполнения полей форм обратной связи. Вообще задача у меня в следующем:
Есть форма обратной связи в которой заполняються все поля
и надо сделать проверку заполнености этих полей, козалось бы него лёгкого, проверку может написать любой а с Гуглем и Яндексом можно и скопироват, я могу и сам ее написать но мой заказчик оригинал, он просит следующее – до заполнения всех полей кнопка отправить не была активна, а после заполнения этих полей она становилась активной. Вот подскажите мне как это реализовать, хотябы с помощью каких функций. а адльше сам допру, мне так сказать пинок нужен в првельную сторону для разгона. Заранее благодарен!)

14 ответов в теме “Вопрос о заполнении форм обратной связи.”

  1. 14
    Антон Щиров ответил:

    > почему в блоке if можно не указывать else?
    Зачем? Что на это else должно выполняться?

    Как только мы нашли пустую строку мы заблокировали кнопку и вышли из процедуры. Если же мы не нашли ни одной пустой строки мы кнопку разблокировали

  2. 13
    Димка Дроздик ответил:

    вот функция только сдесь надо поменять 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>

  3. 12
    Befstrashe Mich ответил:

    Спасибо!)
    Только один вопрос по синтаксису, а почему в блоке if можно не указывать else?

  4. 11
    Антон Щиров ответил:

    Рекомендую переписать функцию так
    [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. 10
    Befstrashe Mich ответил:

    Реализовал данное следующим образом:
    [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]

  6. 9
    Befstrashe Mich ответил:

    немного поправить надо:
    [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]
    в последней строке надо поставить кейпресс событие, для того, чтобы не наткнуться на чайника, потому как не все догадаются убрать фокус с строки ввода, для запуска скрипта.

  7. 8
    Befstrashe Mich ответил:

    Извиняюсь, немного ошибся на JavaSсript.

  8. 7
    Befstrashe Mich ответил:

    Евгений aka zZloy Будан
    Спасибо конечно) но делфи не вариант, надо на яве) Но всеравно спасибо!) Альгоритм то всеровно один))) я какраз через цыклы проверки на яве пытаюсь сделать)

  9. 6
    Игорь Маранчак ответил:

    а еще можно использовать regexpr
    что-то типа (на память) var mail = /form/\w@\w\.\w/

  10. 5
    Евгений Будан ответил:

    [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]

    немного коряво, но я бы так проверил,
    в условии можно сделать проверку на коррекность введеной инфы (для мыла например)

  11. 4
    Befstrashe Mich ответил:

    Искандер Губайдуллин
    Как сделать проверку на JS я знаю, но нужно именно с отключением кнопки)
    Антон Щиров
    Спасибо!) Это уже на талкивает на мысли!)
    Денис Dain Лугавцов
    Спасибо за идею!) буду пробовать реализовать)

  12. 3
    Dain Here ответил:

    я бы так сделал:
    функция, которая проверяет содержимое всех полей, и если не встречает пустое поле – активирует кнопку (см.выше).
    вызывается функция на событие onchange для каждого поля

  13. 2
    Антон Щиров ответил:

    [src]
    <input id="buttonSend" disabled="disabled" value="Send" type="submit" />
    ………….
    <script type="text/javasсript"">
    document.getElementById('buttonSend').disabled = false;
    </script>
    [/src]

  14. 1
    Искандер Губайдуллин ответил:

    Может на яваскрипте можно проверку заполненности сделать? А насчет неактивной кнопки не знаю (помог называется)) )

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.