0

これを機能させるにはどうすればよいですか

オンサブミット

、 それ以外の

ボタンでonclick?

私はフォームを持っています:

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

これはonclickボタンでのみ機能します.onsubmitで機能させることができず、理由がわかりません..

4

2 に答える 2

2

onsubmit<form>エレメントイベントです。

onclickボタンから属性を非常に簡単に削除し、フォームを次のように変更できます

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

これreturn falseにより、デフォルトのイベント ハンドラー (フォーム送信) が実行されなくなります。

于 2011-11-08T21:38:11.980 に答える
1

onsubmit を使用する場合は、false も返す必要があります。

<form id="form" onsubmit="loadXMLDoc(); return false;">
于 2011-11-08T21:38:35.847 に答える