我只是想知道如何在<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";
}
}
这是从HTML
<a>
运行SQL查询的最佳选项吗?或者有更好的方法吗?我已经知道MySQLi和PDO这个项目不会上线,所以我不需要担心SQL注入。
它必须在HTML
<a>
上完成。我知道我可以使用一个按钮,这会更容易,但根据我的规范,它使用<a>
。
e.preventDefault();
阻止了点击链接的默认操作,并允许我们做自己的事情。
$("a").click(function(e){
e.preventDefault();
//Do ur stuff
});
访问此链接:
http://api.jquery.com/event.preventdefault/
他们用
您编写的这种方式包括所有的a标记,如果您的菜单中有超链接,您的菜单也会起作用,首先给你的超链接一个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()
。