我已修改此代码以确认在点击链接时打开页面:
<a href="http://google.com" id="check">Visit Google!</a>
<script>
$('#check').click(function(e) {
e.preventDefault(); // Prevent the href from redirecting directly
var linkURL = $(this).attr("href");
warnBeforeRedirect(linkURL);
});
function warnBeforeRedirect(linkURL) {
swal({
title: "このリンク開けますか?",
text: "If you click 'OK', you will be redirected to " + linkURL,
type: "warning",
showCancelButton: true
}, function() {
// Redirect the user
window.location.href = linkURL;
});
}
</script>
此代码剪辑非常有效,因为它嵌入在我的index.php页面中。但是,另一个代码片段如下所示:
<a href='/classreg.php?studentid=<?php echo $row["studentid"]; ?>&classid=<?php echo $row["classID"]; ?>&furikae=2&class_time=<?php echo $datecheck; ?>' class="btn btn-warning" id="check">
<span class="glyphicon glyphicon-hand-right"></span>欠席
</a>
不起作用。第一个链接调用函数,而第二个链接不调用。
我认为某些东西必须妨碍识别id标签,但我不知道如何调试它,因为我对JS和JQuery来说相对较新。
如果我忘记添加任何重要信息,请告知我们。
谢谢。
答案 0 :(得分:2)
使用class
选择器代替id
选择器。您不能将相同的ID设置为多个元素。这是您的第一个链接有效而其他链接无效的问题。
所以你的代码应该是这样的
<a href="http://google.com" class="check" id="check">Visit Google!</a>
和第二个href
<a href='/classreg.php?studentid=<?php echo $row["studentid"]; ?>&classid=<?php echo $row["classID"]; ?>&furikae=2&class_time=<?php echo $datecheck; ?>' class="btn btn-warning check" id="check1">
并且在js中使用$('.check')
而不是$('#check')