Отмена отправки формы. Фигня какаято :(
Привет. Есть следующее:
<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, время: 02:22. |