обрабатывать PHP, не покидая страницы FUNCTION onsubmit = "loadXMLdoc ()" - PullRequest
0 голосов
/ 09 ноября 2011

КАК мне заставить это работать

onsubmit

вместо

Нажать кнопку?

У меня есть форма:

    <form id="form"> 
    <label>Email:</label>
    <input type="email" name="email" id="email" class="iput" placeholder="jane@doe.com" reguired="required"/>
    <input type="button" id="nbut" onclick="loadXMLDoc()" value="NEXT">
    </form>

кнопка отлично работает для вызова и обработки JavaScript:

function loadXMLDoc() {

 var xmlhttp; 
 if (window.XMLHttpRequest)   {
    // code for IE7+, Firefox, Chrome, Opera, Safari   
    xmlhttp=new XMLHttpRequest();
 } else {
   // code for IE6, IE5   
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

 } 
 xmlhttp.onreadystatechange=function()   {   
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {      
       document.getElementById('response').innerHTML=xmlhttp.responseText;
       document.getElementById('step1').style.display = "none";
       document.getElementById('step2').style.display = "block";
     }   
 }

 var em = document.getElementById('email'); 
 var em1 = em.value;

 xmlhttp.open("GET","bin/process.php?email="+em1,true); 
 xmlhttp.send();
 }

Это работает только при нажатии кнопки, я не могу заставить ее работать при отправке и не знаю почему ..

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

onsubmit является событием <form> элемента.

Вы можете очень просто удалить атрибут onclick с кнопки и изменить форму на

<form id="form" onsubmit="loadXMLDoc(); return false;">

return false предотвращает выполнение обработчика событий по умолчанию (отправка формы).

1 голос
/ 09 ноября 2011

При использовании onsubmit вы также должны возвращать false:

<form id="form" onsubmit="loadXMLDoc(); return false;">
...