2016-04-18 258 views
1

我創建了一個按鈕。當我點擊按鈕時,我希望它運行一個PHP文件並顯示警報。這裏就是我想: HTML:爲什麼第一次點擊時不顯示此警報?

<button id="testid" style="height:20px; width: 50px; cursor: pointer" onclick="logoutfunc()">Logout</button> 

的JavaScript:

function logoutfunc() { 
    $(document).ready(function() { 
     $("#testid").click(function() { 
      $.ajax({ 
       url: 'logoutt.php', 
       type: 'post', 
       success: function(result11) { 
        //$(location).attr('href', 'login.php'); 
        alert(result11); 
       }, 
       error: function() { 
        alert("no"); 
       } 
      }); 
     }); 
    }); 
} 

logoutt.php

<?php 
$a="Hello"; 
echo $a; 
?> 

現在的問題是,當我按一下按鈕第一次,它不顯示警報。但是當我再次點擊它時,它會兩次顯示相同的警報。當我再次點擊它時,它會提醒3次,依此類推。我寫錯了什麼?

回答

4

您正在綁定內聯事件處理程序內的點擊處理程序,因此當第一次按下該按鈕時會附加事件處理程序。所以它第二次運作。

擺脫內聯點擊處理程序。只是綁定使用jQuery的事件處理程序

$(document).ready(function() { 
    $("#testid").click(function() { 
     $.ajax({ 
      url: 'logoutt.php', 
      type: 'post', 
      success: function(result11) { 
       //$(location).attr('href', 'login.php'); 
       alert(result11); 
      }, 
      error: function() { 
       alert("no"); 
      } 
     }); 
    }); 
}); 
+0

糟糕。非常愚蠢的錯誤。謝謝。 –

1

爲什麼你一次又一次地綁定相同的事件?

....onclick="logoutfunc()"... 

HTML除去這一部分,在JavaScript中移除環繞文件準備處理功能。

$(document).ready(function(){ 
    $("#testid").click(function(){ 
    // your ajax code. 
    });  
}); 
相關問題