簡體   English   中英

在上運行javascript函數

[英]Running a javascript function on a <a href>

我只是想知道如何在<a>上觸發這樣的JavaScript函數:

$('a').click( function() { your_code_here; return false; } );

然后使用它來運行運行如下所示的JavaScript函數:

$.post("queries.php")

運行PHP函數,該函數運行如下SQL查詢:

public function GetResults()
{ 
    list($subjectID, $sectionID, $principleID) = explode('#', $_POST["comboboxselections"]);
    $box = ""; // placeholder for the html results to be returned to 
    $sql = "SELECT media_id,title,blurb 
            FROM media 
            WHERE subject_id = $subjectID AND section_id = $sectionID AND principle_id= $principleID AND verified = 1"; 
    try
    {
        return $this->getResultsAndGenerateHTML($sql, $this->conn);
    }catch(exception $e)
    {
        echo 'Caught exception: ',  $e->getMessage(), "\n";

    }
}
  1. 這是從HTML <a>運行SQL查詢的最佳選擇,還是有更好的方法呢?

  2. 我已經了解MySQLi和PDO,該項目無法上線,因此我不必擔心SQL注入。

  3. 必須在HTML <a> 我知道我可以使用一個更簡單的按鈕,但是根據我的說明,它使用了<a>

e.preventDefault(); 

阻止點擊鏈接的默認操作,並允許我們執行操作。

$("a").click(function(e){

e.preventDefault();

//Do ur stuff

});

訪問此鏈接:

http://api.jquery.com/event.preventdefault/

他們通過示例精美地解釋了其功能

這樣編寫的方式將包含所有標簽,並且如果菜單中具有超鏈接,則菜單也將因此起作用,首先給超鏈接添加一個ID

<a href="#" id="Something">Click On Me</a>

然后在jquery中使用它:

$("#Something").click(function(e){
     e.preventDefault();
     //write your function here
});

這樣可以防止頁面更改,並可以完成您的功能。

您可以從任何想要的位置調用它,但是首選使用錨標記,因為如果用戶未激活JavaScript,則將有一個后備功能,可以將用戶重定向到其他頁面。 只要確保防止默認行為即可。

為此,不建議return false ,因為它還可以防止事件冒泡。 您應該使用event.preventDefault()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM