Форумы » Программирование »

Очистка поля формы после отправки данных на сервер



284
arteshuk
Суть проблемы: Надо отправить на сервер данный из одной строки формы, делаем

[code]<form id="myForm">
Введите имя:<br/>
<input id="username" type="text" size="20" value=" "><br/>
<input type="submit" value="Отправить">
</form>

<div id="content"></div>

<script>
$(document).ready(function(){

$('#myForm').submit(function(){
$.ajax({
type: "POST",
url: "/test.php",
data: "username="+$("#username").val(),
success: function(html){
$("#content").html(html);
}
});
return false;
});

});[/code]
все отлично, все работает, НО! После отправки надо очистить поле, т.е чтоб введенная юзером строка отправилась на сервер, потом очистить поле.
<input id="username" type="text" size="20" value=" ">


[code]<input type="submit" value="Отправить" onclick="document.getElementById('username').value = '';">[/code]
очищает поле, но данные не отправляются

[code]<input type="submit" value="Отправить" onclick="this.form.reset(); return true;">[/code]
Очищает, но на сервер отправляет пустую строку.....

[code]<input type="submit" value="Отправить" onclick="this.form.reset(); return false;">[/code]
очищает поле, но данные не отправляются

Подскажите, есть ли выход из данной ситуации? гугл уже замучен до полуобморочного состояния..... 🙁

Отредактировано arteshuk - 26.12.2011
6906
Render
<script>
$(document).ready(function(){

$('#myForm').submit(function(){
$.ajax({
type: "POST",
url: "/test.php",
data: "username="+$("#username").val(),
success: function(html){
$("#content").html(html);
document.form.reset(); [color=gray]// где-то здесь[/color]
}
});
return false;
});

});
284
arteshuk
неа, не хочет как очищать 🙁

пока нашел такой выход:

[code]<input type="submit" value="Отправить" onclick="document.getElementById('myForm').submit(); clean()">[/code]
у добавил функцию

[code]function clean()
{
document.myForm.username.value="";
}[/code]
но при этом получается некое моргание <div id="content"></div> и в адресной строке появляется http://test1.ru[b]/?[/b]
284
arteshuk
Черт, ну и бестолочь я 🙁

вопрос снят, зыбал форме имя дать 🙁

name="myForm"
6906
Render
[b]arteshuk[/b], тему только не удаляй пожалуйста. Возможно кому-то пригодиться.
284
arteshuk
[quote=Render][b]arteshuk[/b], тему только не удаляй пожалуйста. Возможно кому-то пригодиться.[/quote]
да.....я вобщем-то никогда в этом (удаление, модерация и т.д.) замечен и не был 😀

ЗЫ ты пашто меня в аське игноришь? 😀
284
arteshuk
В догонку маленький вопрос, может кто знает

[code] $('#myForm').submit(function(){
$.ajax({
type: "POST",
url: "modules/test/test.class.php",[/code]
test.class.php - представляет собой некий класс

возможно ли передать переменную в конкретную функцию этого класса? Допустим в function pub_create_content($template)
1
yozuul
подскажите плз, как сюда

[code]<script type="text/javascript">
$(document).ready(function() {
$("#formID").validationEngine();
$("#formID").ajaxForm({
beforeSubmit: function(){
return $("#formID").validationEngine('validate');
},
success: function(){
$("#formID").animate({ left: 0, opacity: 'toggle'}, 400);
$('#normal_player_block').delay(200).animate({ left: 0, opacity: 'show'}, 600).delay(6000).animate({ left: 0, opacity: 'hide'}, 600);
$("#formID").delay(6500).animate({ left: 0, opacity: 'toggle'}, 700);
}
});
});
</script>[/code]
прикрутить очистку? метод тыка не помог.
284
arteshuk
[code]success: function(){
$("#formID").animate({ left: 0, opacity: 'toggle'}, 400);
$('#normal_player_block').delay(200).animate({ left: 0, opacity: 'show'}, 600).delay(6000).animate({ left: 0, opacity: 'hide'}, 600);
$("#formID").delay(6500).animate({ left: 0, opacity: 'toggle'}, 700);
document.formID.reset();
}[/code]

Неавторизованные и новички не могут отправлять сообщения.

© 2008-2020
Контакты | Группа | Privacy и Cookie | Правила