PDA

Просмотр полной версии : Отпрака формы без рефлэша


Google00
16.02.2007, 23:21
Возможно ли, если да то как, осуществить такое:
Несколько форм, пользователь вводит данные, после нажимает кнопку submit, данные отправляются, но страница не обновляется, форма скрывается, а появляется текс типа "всё супер гуд, все отправлено" .
Буду очень рад любым советам и замечаниям.

GreenBear
16.02.2007, 23:23
ajax?

nc.STRIEM
16.02.2007, 23:27
ajax?
AJAX!!!

cRiLaZ
16.02.2007, 23:28
http://www.intenter.ru/me/articles/poll.jsp

Это должно помоч

GreenBear
16.02.2007, 23:32
nc.STRIEM, это был риторический вопрос)

чтоб не флеймить, покажу пример

<script>
function start(){

var xmlhttp = false;



try{

xmlhttp = new ActiveXObject("Mcxml2.XMLHTTP");

}



catch(e){



try{

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

catch(E){

xmlhttp = false;

}

}



if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){

xmlhttp = new XMLHttpRequest();



}

return xmlhttp;

}



function AJAX_Enter(name, pass, remember){



var xmlhttp = start();

var obj = document.getElementById('loginhtml');

obj.innerHTML = "<div class='ajaxload'><img src='templates/" + BOARD_TEMPLATE + "/images/ajax_load.gif'></div>";

xmlhttp.open("POST", "ajax.php?act=login&name="+name+"&password="+pass+"&remember="+remember);

xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

xmlhttp.onreadystatechange = function(){

if(xmlhttp.readyState == 4 && xmlhttp.status == 200){

obj.innerHTML = xmlhttp.responseText;

}

}

xmlhttp.send(null);

}
</script>

<div align='center' id='loginhtml'>

<form action='index.php?act=login' method='post' name='loginform'>

{L_NAME} <br /><input type='text' name='name' OnFocus="this.value=''" />

<br />

{L_PASSWORD} <br /><input type='password' name='password' OnFocus="this.value=''" />

<br />

<input type='checkbox' value='y' name='remember' title='{L_REMEMBER}' />

<script>

document.write("<input type='button' value='{L_ENTER}' name='enter' Onclick=\"AJAX_Enter(loginform.name.value, loginform.password.value, loginform.remember.value)\"/>");

</script>

<noscript>

<input type='submit' name='enter' value='{L_ENTER}' />

</noscript>

</form>

</div>


взял со своего разрабатуещгося движка, но суть ясна.

Google00
16.02.2007, 23:39
Круто!!! Оперативно!!! Щас читаю.

Abra
17.02.2007, 00:43
поиск в гугле по XMLHttpRequest так же даст много полезной информации

Trinux
17.02.2007, 11:42
а еще, помимо присловутой ajax. формы без перезагрузки можно отправлять таргетом, типа
<form target="ogogo"...
где "ogogo", если не ошибаюсь, идентификатор обычно фрейма или i-фрейма.