ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

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

 

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

<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;
});

});

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


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

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

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

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

Отредактировано arteshuk - 26.12.2011
7094
--- @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(); // где-то здесь
}
});
return false;
});

});

284
arteshuk @arteshuk
неа, не хочет как очищать 🙁

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

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

function clean()
{
document.myForm.username.value="";
}

но при этом получается некое моргание <div id="content"></div> и в адресной строке появляется **********/?

284
arteshuk @arteshuk
Черт, ну и бестолочь я 🙁

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

name="myForm"

7094
--- @Render
arteshuk, тему только не удаляй пожалуйста. Возможно кому-то пригодиться.

284
arteshuk @arteshuk
Render пишет:

arteshuk, тему только не удаляй пожалуйста. Возможно кому-то пригодиться.

да.....я вобщем-то никогда в этом (удаление, модерация и т.д.) замечен и не был 😀

ЗЫ ты пашто меня в аське игноришь? 😀

284
arteshuk @arteshuk
В догонку маленький вопрос, может кто знает

$('#myForm').submit(function(){
$.ajax({
type: "POST",
url: "modules/test/test.class.php",

test.class.php - представляет собой некий класс

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

1
yozuul @yozuul
подскажите плз, как сюда

<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>

прикрутить очистку? метод тыка не помог.

284
arteshuk @arteshuk
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();
}