我希望用户点击链接,然后弹出一个带有是或否的javascript弹出窗口,但是如果是,则重定向到不同的URL,如果没有,则保持在同一页面上。 我尝试了下面的代码,但是当选择是或否时,它会将我带到同一页面。
function YNconfirm() {
if (window.confirm('Really go to another page?'))
{
alert("You agree")
window.location.href = (http:///mediclaim_portal/logout2.php');
}
else
{
window.location.href = (this.document);
}};
</script>
then
<a href="\mediclaim_portal/logout2.php" onclick="YNconfirm()">Home</a>
答案 0 :(得分:5)
function YNconfirm() {
if (window.confirm('Really go to another page?'))
{
alert("You agree")
window.location.href = 'http:///mediclaim_portal/logout2.php';
}
}
然后
<a href="/mediclaim_portal/logout2.php" onclick="YNconfirm(); return false;">Home</a>
答案 1 :(得分:2)
如果在onclick事件中运行的代码没有返回false,则会发生href。 即尝试这样的事情:
function YNconfirm() {
if (window.confirm('Really go to another page?'))
{
alert("You agree");
return true;
}
else
return false;
};
</script>
<a href="\mediclaim_portal/logout2.php" onclick="return(YNconfirm());">Home</a>
答案 2 :(得分:1)
运行点击处理程序后,浏览器将导航到该链接。
您应该将处理程序更改为return false
以取消导航,而不是设置location
。
答案 3 :(得分:0)
就这样做;)
<script type="text/javascript">
function YNconfirm() {
if (window.confirm('Really go to another page?')){
alert("You agree")
//REDIRECT
window.location.href = (http://mediclaim_portal/logout2.php');
}
else{
//DO NOTHING AND STAY IN THE SAME PAGE
//OR SOMETHING ELSE THAT YOU WANT
return false;
}
};
</script>
<!-- IMPORTANT, dont link your 'a', or it will always be submited -->
<a href="javascript:void(0);" onclick="YNconfirm();">Home</a>
答案 4 :(得分:0)
<a href="http://mediclaim_portal/logout2.php" onclick="YNconfirm(this, event)">Home</a>
然后编写jquery脚本,如下所示
<script>
function YNconfirm(el,ev){
var confirm = window.confirm("Really go to another page?");
if(confirm){
window.location.href = $(el).attr("href");
}else{
ev.preventDefault();
}
}
</script>
答案 5 :(得分:0)
最好的方法是使用像这样的函数的返回值
function YConfirm(
if (window.confirm('Really go to another page?')){
return true;
}
return false;
)
现在只需像这样调用此函数即可。
<a href="http://mediclaim_portal/logout2.php" onclick="return YConfirm();">Home</a>
现在,您无需使用javascript重定向页面。
答案 6 :(得分:0)
## Try this for all url ##
<a href="https://code.jquery.com">Click Here</a>
<script type="text/javascript">
$(document).ready(function(){
$('a').click(function(){
//get a href url
var url = $(this).attr('href');
//check condition for redirection
var answer = confirm("Leave From this page");
if (answer){
document.location.href = url;
}else{
alert("Thanks for sticking around!");
return false;
}
});
});
</script>
答案 7 :(得分:0)
我知道这不是代码高尔夫,但这是我通常采用的解决方案(可读性更高):
<a onclick="if(confirm("Want to go to the new page?)){location.href = "bla.newpage.bla"}}
虽然“ onclick返回true”有效,但它需要有关onclick和href标记如何交互的内部知识。我发现自己的方法更容易用眼(特别是如果您经常在C#,JS,SQL等之间不断跳转)