Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Отпрака формы без рефлэша (https://forum.antichat.xyz/showthread.php?t=33546)

Google00 16.02.2007 23:21

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

GreenBear 16.02.2007 23:23

ajax?

nc.STRIEM 16.02.2007 23:27

Цитата:

Сообщение от Green_Bear
ajax?

AJAX!!!

cRiLaZ 16.02.2007 23:28

http://www.intenter.ru/me/articles/poll.jsp

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

GreenBear 16.02.2007 23:32

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

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

<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-фрейма.


Время: 14:16