Проблема с отправкой формы
есть форма, с текстовым полем и кнопочкой сабмит. Теперь, когда нажимаю на сабмит, форма отправляет данные и открывает тот файл, который я указал в action формы. Вот как можно эту переадресацию убрать? Чтоб когда нажал на сабмит, кроме отправки данных, ничего не происходило? Заранее спасибо!
Дополню лишь, что:
1. Или вместо submit ставите тип элемена button, на который вешаете скрипт
2. самой форме приписываете onsubmit="submit_function()";
и вызываете функцию, которая занимается отправкой вашей формы аяксом.
ВАЖНО! для того, чтобы не происходило перехода, выполняемая функция должна возвращать в форму false...
т.е.
submit_function() {
bla-bla-bla
проверка данных...
отправка данных
return false;
}
а можно поподробней? что должно быть в атрибуте action формы?
1. Или вместо submit ставите тип элемена button, на который вешаете скрипт
2. самой форме приписываете onsubmit="submit_function()";
и вызываете функцию, которая занимается отправкой вашей формы аяксом.
ВАЖНО! для того, чтобы не происходило перехода, выполняемая функция должна возвращать в форму false...
т.е.
submit_function() {
bla-bla-bla
проверка данных...
отправка данных
return false;
}
спасибо, алгоритм понятен, попробую реализовать ...
<input type="text" value="" size=25 name="poletext" /><br>
<input type="button" onclick="this.form.submit();" value="Отправить" name="submit"/>
</form>
скажите пожалуйста, где я ошибаюсь?
<input type="text" value="" size=25 name="poletext" /><br>
<input type="button" onclick="this.form.submit();" value="Отправить" name="submit"/>
</form>
скажите пожалуйста, где я ошибаюсь?
Преамбула:
Молодой программер подходит к бородатому АСМщику, протягивает исходники:
- Посмотри пожалуйста, где у меня тут ошибка?
Бородатый посмотрел на исходники, на программера, снова на исходники:
- В ДНК!
Амбула:
Вы неправильно поняли.... Ваша форма должна выглядеть так:
submit_function() {
{AJAX REQUEST}
return false;
}
</script>
<form action="cgi.php" onSubmit="submit_function();" method="post">
<input type="text" value="" size=25 name="poletext" /><br>
<input type="submit" value="Отправить" name="submit"/>
</form>
Где {AJAX REQUEST} вы должны заменить на аякс-запросы.
или обратитесь к jquery.com
или пишите свой обработчик - документация (понятная) http://xmlhttprequest.ru/
<input type="button" onclick="myFunc();" value="Отправить" />
скрипт:
$.post('cgi.php', {poletext: document.getElementById('pole').value});
}
в общем все гуд, всем спасибо за помощь! :D
Вот кто его знает, чёрт возьми, где ещё встретится в документе елемент с id pole. А так мы имеем коллекцию форм, каждая из которых имеет совершенно чёткий набор полей.
Вот кто его знает, чёрт возьми, где ещё встретится в документе елемент с id pole. А так мы имеем коллекцию форм, каждая из которых имеет совершенно чёткий набор полей.
Не в тему замечание...
[HTML]<form name="form1" >
<input type="text" name="pole" id="pole"/>
</form>
<form name="form231" >
<input type="text" name="pole" id="pole"/>
</form>[/HTML]
И какая разница? Если на одной странице куча форм, то вам нужно искать элемент через массив forms, а простым getElementById('pole') вы получите первое или последнее поле в ДОМе с таким элементом... в форме оно у вас или не в форме...
http://xmlhttprequest.ru
http://htmlbook.ru
http://www.php.net
http://javascript.ru
А что, универсальный ответ получается )