ФорумПрограммированиеJavaScript → Сабмит и проверка данных

Сабмит и проверка данных

  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz Окт. 1, 2008, 4:32 д.п.

    Вобщем, делаю проверку данных формы аджаксом.

    <form action="/order" method="post" onSubmit="return false;">

    <input type="submit" value="Send" onClick="return full_validate_data();" />
    </form>


    function full_validate_data()
    {

    buy_email = document.getElementById('buy_email').value;
    del_email = document.getElementById('del_email').value;
    buy_phone = document.getElementById('buy_phone').value;
    del_phone = document.getElementById('del_phone').value;

    JsHttpRequest.query(
    "/JsHttpRequest/backend_full_validate_data.php",
    { "buy_email": buy_email, "buy_phone": buy_phone, "del_email": del_email, "del_phone": del_phone },
    function(result) {
    good = true;
    document.getElementById('error').innerHTML = '';
    if (!result["buy_email"]) {
    document.getElementById('error').innerHTML = result["buy_email_text"] + '.<br />';
    good = false;
    } if (!result["buy_phone"]) {
    document.getElementById('error').innerHTML += result["buy_phone_text"] + '.<br />';
    good = false;
    } if (!result["del_email"]) {
    document.getElementById('error').innerHTML += result["del_email_text"] + '.<br />';
    good = false;
    } if (!result["del_phone"]) {
    document.getElementById('error').innerHTML += result["del_phone_text"] + '.';
    good = false;
    } if (good) {
    document.forms['orderform'].submit();
    }
    },
    false
    );

    return false;
    }


    Собственно, проблема в том, что форма не сабмитится. Причем, если перед document.forms['orderform'].submit(); написать alert(); то он срабатывает. Могу предположить, что при сабмите все равно идет return false; но если поставить эту функцию на onSubmit, происходит то же самое. Что делать?)
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 4:35 д.п., спустя 2 минуты 51 секунду

    ты JS функцию вешай на onSubmit!

    onsubmit="return(CheckForm());"
    все умрут, а я изумруд
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 4:35 д.п., спустя 22 секунды

    а в ней уже возвращай true или false в зависимости от заполняемости
    все умрут, а я изумруд
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz Окт. 1, 2008, 4:38 д.п., спустя 2 минуты 42 секунды

    Вешал я на onSubmit. И в зависимости пробовал возвращать. Вот так:

    function full_validate_data()
    {

    buy_email = document.getElementById('buy_email').value;
    del_email = document.getElementById('del_email').value;
    buy_phone = document.getElementById('buy_phone').value;
    del_phone = document.getElementById('del_phone').value;

    good = false;

    JsHttpRequest.query(
    "/JsHttpRequest/backend_full_validate_data.php",
    { "buy_email": buy_email, "buy_phone": buy_phone, "del_email": del_email, "del_phone": del_phone },
    function(result) {
    good = true;
    document.getElementById('error').innerHTML = '';
    if (!result["buy_email"]) {
    document.getElementById('error').innerHTML = result["buy_email_text"] + '.<br />';
    good = false;
    } if (!result["buy_phone"]) {
    document.getElementById('error').innerHTML += result["buy_phone_text"] + '.<br />';
    good = false;
    } if (!result["del_email"]) {
    document.getElementById('error').innerHTML += result["del_email_text"] + '.<br />';
    good = false;
    } if (!result["del_phone"]) {
    document.getElementById('error').innerHTML += result["del_phone_text"] + '.';
    good = false;
    } if (good) {
    document.form['orderform'].submit();
    }
    },
    false
    );

    return good;
    }


    В итоге я добился, что сабмитится по второму сабмиту :) Где я дурак?)
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz Окт. 1, 2008, 4:39 д.п., спустя 59 секунд

    Тут же нету, блин, global :) И шо робыть?
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 4:44 д.п., спустя 4 минуты 28 секунд

    sap,

    good = false;

    жжешь :)


    <form id="sapForm" action="/order" method="post" onSubmit="return false;">

    <input type="submit" value="Send" onClick="full_validate_data(document.getElementById('sapForm'));" />
    </form>
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 4:47 д.п., спустя 3 минуты

    <form onSubmit="return(Check());">

    </form>


    function Check()
    {
    if (name.length=0) {
    alert('увага!');
    return(false);
    }
    return(true);
    }
    все умрут, а я изумруд
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz Окт. 1, 2008, 4:55 д.п., спустя 8 минут 57 секунд

    adw0rd, все равно только по второму клику сабмитится :(

    md5, так-то оно да, только вот проверка идет в function(result), и оттуда хрен ретурн сделаешь.
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz Окт. 1, 2008, 4:57 д.п., спустя 1 минуту 34 секунды

    Короче, я лучше щас эти регулярки на джаваскрипте нафигачу и сделаю без аджакса)
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 5:03 д.п., спустя 6 минут 5 секунд

    ага, все равно на сервере перепроверять..
    все умрут, а я изумруд
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 5:45 д.п., спустя 41 минуту 53 секунды

    alert('увага!');

    чем те так слово понравилось?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 5:57 д.п., спустя 11 минут 44 секунды


    alert('увага!');

    чем те так слово понравилось?
    да мне впринципе все равно можно и так:

    увага('alert!');
    :))
    все умрут, а я изумруд
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 5:58 д.п., спустя 1 минуту 30 секунд

    CTAPbIu_MABP,
    http://pyha.ru/forum/u
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Окт. 1, 2008, 6:29 д.п., спустя 30 минут 27 секунд

    adw0rd, буээээ
  • OleKsa

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz Авг. 18, 2012, 12:10 п.п., спустя 1417 дней 5 часов 40 минут

    Счастье, как здоровье: когда его не замечаешь, значит, оно есть.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!