2013-09-23 65 views
0

我的代碼如下JavaScript的AJAX不工作

<script type="text/javascript"> 

function saveack() 
{ 

    var raf=document.getElementById('find_raf').value; 
    var phone=document.getElementById('update_phone').value; 
    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() 
    { 

    document.getElementById("res").innerHTML="<img src='../images/ajax-loader-2.gif' />"; 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
     alert("asd"); 
     document.getElementById("res").innerHTML=xmlhttp.responseText; 
    } 
    } 
    xmlhttp.open("get","updateCustomerDetail.php?raf="+raf+"&phone="+phone,true); 
    xmlhttp.send(); 
} 

和短我的html代碼是

<form method="post" > 
<tr> 
    <td align="right" width="50%" bgcolor="#9FCAE9" style="font-weight:800; font-size:14px; color:#006;">RAF No.</td> 
    <td width="50%" align="left" bgcolor="#E8F8FF" style="color:#006"><input type="text" style="border:none" name="find_raf" id="find_raf" onBlur="fetchDetails();" /><span id="result_raf"></span></td> 
    </tr> 
<tr> 
    <td align="right" bgcolor="#9FCAE9" style="font-weight:800; font-size:14px; color:#006;">Customer Phone</td> 
    <td align="left" bgcolor="#E8F8FF" style="color:#006"><input type="text" style="border:none" size="30" name="update_phone" id="update_phone" /></td> 
    </tr> 
    <tr align="center"> 
     <td colspan="2"bgcolor="#E8F8FF" style="color:#006"> <input type="submit" name="update_raf" id="update_raf" value="update" onClick="saveack();" /><?=$success ?></td> 
     </tr> 
     <tr align="center"> 
     <td><div id="res"></div></td> 
     </tr> 
</form> 

當我回聲$ _GET ['英國皇家空軍在updateCustomerDetail.php什麼都不顯示..can誰能幫助 確切位置,我已經wrong..for測試目的,我只是裏面 給了警告,如果(xmlhttp.readyState == 4 & & xmlhttp.status == 200) ,但警報不來

+0

試試這個https://github.com/global-source/javascript_ajax –

回答

0

嗯,我想後回導致你需要做的是issue.What ... 加入的onclick修改你輸入一個return如下

<input type="submit" name="update_raf" id="update_raf" value="update" onClick="return saveack();" /> 

而且在在最後你的JavaScript代碼添加return false防止回發

function saveack() { 
     var raf = document.getElementById('find_raf').value; 
     var phone = document.getElementById('update_phone').value; 
     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() { 

       document.getElementById("res").innerHTML = "<img src='../images/ajax-loader-2.gif' />"; 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
         alert("asd"); 
         document.getElementById("res").innerHTML = xmlhttp.responseText; 
       } 
     } 
     xmlhttp.open("get", "updateCustomerDetail.php?raf=" + raf + "&phone=" + phone, true); 
     xmlhttp.send(); 
     return false; 
} 
0

只需使用輸入type='button'代替type='submit'

由於提交作出行動,如果它是在一個窗體標記

因爲你正在使用ajax所以不需要採取行動。操作使頁面刷新。

用途:

<input type="button" name="update_raf" id="update_raf"........ 

而不是

<input type="submit" name="update_raf" id="update_raf"........ 

這是工作。由我測試。