Отмена отправки формы. Фигня какаято :(
Привет. Есть следующее:
<form onSubmit="return func('1');"> ... </form> function func(x) { switch(x) { ..... case "1": ... if(...) { return false; } break; ..... } } Непойму, почему при срабатывании "if(...)" форма все равно отправляется ?:( |
используйте другие способы отмены действия по-умолчанию, ваш способ устарел.
|
Какие методы используете Вы ?:)
|
form.attachEvent \ form.addEventListener.
но можно и ограничиться form.onclick |
Отлично, обязательно почитаю о новых прогрессивных методах, но все-таки жду помощи по моему примеру, на самом деле, что не так то с ним ?
|
Цитата:
form.addEventListener('submit', function(){return false;}); |
кажись поэтому
<form onsubmit="return func('1');"> |
Цитата:
|
|
Блин, неоднократно взорвал себе мозг, нечего не понимаю, офигеть я чайник :(
В функции запускается ajax запрос, условие if() - это выдергивание нужного ответа сервера, т.е. function func(x) { switch(x) { ..... case "1": ... XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState == 4) { if (XMLHttp.status == 200) { if (XMLHttp.responseText == "FAIL") { alert("Ошибка"); return false; } } } } break; ..... } } Alert вылазит, но форма все равно отправляется, как будто return false; вовсе нет. Попробывал так: function func(x) { switch(x) { ..... case "1": ... XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState == 4) { if (XMLHttp.status == 200) { if (XMLHttp.responseText == "FAIL") { alert("Ошибка"); x = false; } else { x = true; } } } } break; ..... } return x; } Но за пределами XMLHttp.onreadystatechange = function() переменная x неопределена :( Как заставить работать эту конструкцию ? :( |
Часовой пояс GMT +3, время: 11:55. |