當我在jQuery post方法中添加e.preventDefault();
時,動態生成的錨標記不起作用。
這是jQuery代碼:
e.preventDefault()後HTML錨標記不工作?
$(document).ready(function(){
$('.img-rounded').on('click',function(e){
e.preventDefault();
$.post("LikeMail.php",
{fname: this.id}
);
});
});
此HTML代碼:
<a href="<?php echo "viewProfile.php?id=" . $record['user_id'];?>" >
<img class="img-rounded"
src=" <?php echo "../shadi/images/" . $record['user_photo1'] ?>"
id="<?php echo $record['user_id']; ?>"alt="" width="70%" height="20%">
</a>
我想知道是什麼問題存在。
THIS IS LikeMail.php
<?php
session_start();
?>
<?php
if(!isset($_SESSION['login'])) {
echo "";
}
else {
include("db.php");
$user1 = $_SESSION['user_id'];
// echo $user1;
//This is being received from jquery
$user2 = $_POST['fname'];
//$lname = $_POST['surname'];
//echo $lname;
/*$sql = "UPDATE notification SET alert='$fname' WHERE id = '1'";
if(mysqli_query($conn,$sql))
echo "updated";*/
$check_for_likes = mysqli_query($conn, "SELECT * FROM liked WHERE user1='$user1' AND user2='$user2'");
$numrows_likes = mysqli_num_rows($check_for_likes);
if (false == $numrows_likes) {
echo mysqli_error($conn);
}
if ($numrows_likes >= 1) {
echo '<input type="submit" value="Unlike" id="Unlike" class="btn btn-lg btn-info edit">';
}
if ($numrows_likes == 0) {
echo '<input type="submit" value="Like" id="Like" class="btn btn-lg btn-info edit">';
}
}?>
<div class="respond"></div>
這是AJAX功能被調用
function like()
{
var req = new XMLHttpRequest();
req.onreadystatechange = function()
{
if(req.readyState==4 && req.status==200)
{
document.getElementById('Like').innerHTML=req.responseText;
}
}
req.open('GET','LikeMail.php','true');
req.send();
}
setInterval(function(){like()},1000);
雖然user2.js是test.js代碼和上面的jquery我一樣thod
'e.preventDefault()'的目的正是你正在經歷的目的,它阻止了錨的默認行爲,即跳轉到'href'指定的位置。當你說「工作」時,作爲一名主播或你的功能應該做什麼,因爲你沒有具體......在工作中跳舞,如何跳舞?要做你的稅嗎? – zer00ne