gpt4 book ai didi

javascript - 如何在href中运行javascript?

转载 作者:行者123 更新时间:2023-11-28 18:12:26 28 4
gpt4 key购买 nike

我正在尝试获取要在 href 中运行的脚本字符串,以便链接将根据 if/else 语句重定向用户。我的代码:

 <div id="editredirect">
<script>
if("[@authfield:Authentications_2_Region]" == "[@field:Location_2_Region_ID]"){
window.location.href = "member-details-edit?CID=[@field:Member_Caspio_ID]&amp;Location_ID=[@field:Member_Location_ID]";
}
else if ("[@authfield:Authentications_2_Region]") == "[@field:Location_2_B_Region_ID]"{
window.location.href = "member-details-edit?CID=[@field:Member_Caspio_ID]&amp;Location_ID=[@field:Member_Location_ID]";
}
else {
window.location.href = "member-details?CID=[@field:Member_Caspio_ID]&amp;Location_ID=[@field:Member_Location_ID]";
}
</script>
</div>

<style type="text/css">a.ex1:hover {color: #f18c21; text-decoration: underline;}
</style>

<a class="ex1" href="javascript:.initialize(document.getElementById("editredirect"));">Details</a>

我也做过这样的函数:

 <script>
function editredirect {
if("[@authfield:Authentications_2_Region]" == "[@field:Location_2_Region_ID]"){
window.location.href = "member-details-edit?CID=[@field:Member_Caspio_ID]&amp;Location_ID=[@field:Member_Location_ID]";
}
else if ("[@authfield:Authentications_2_Region]") == "[@field:Location_2_B_Region_ID]"{
window.location.href = "member-details-edit?CID=[@field:Member_Caspio_ID]&amp;Location_ID=[@field:Member_Location_ID]";
}
else {
window.location.href = "member-details?CID=[@field:Member_Caspio_ID]&amp;Location_ID=[@field:Member_Location_ID]";
}
}
</script>

<style type="text/css">a.ex1:hover {color: #f18c21; text-decoration: underline;}
</style>

<a class="ex1" href="javascript:editredirect">Details</a>

两者都行不通。第一个字符串返回语法错误,第二个字符串告诉我“editredirect”未定义。

谢谢!

编辑

Praveen Kumar 的建议是最好的。我正在使用的数据库的开发人员能够让应用程序执行此操作,而无需插入任何脚本。然而,他们确实说,一旦我的参数正确,事件监听器也会工作。

最佳答案

您可以使用 onclick 并添加整个 JavaScript 逻辑:

<a href="#" onclick="a = prompt('What\'s your name?'); if (a !== null) alert('Welcome, ' + a); else alert('Bye Bye!'); return false;">Click me?</a>

最好的方法是使用事件监听器,如下所示:

document.getElementsByTagName("a")[0].addEventListener("click", function () {
a = prompt('What\'s your name?');
if (a !== null)
alert('Welcome, ' + a);
else
alert('Bye Bye!');
return false;
}, false);
<a href="#">Click me?</a>

这比使用 href 更好。如果您仍想在 href 中运行它,则需要创建一个函数并运行:

function aha() {
a = prompt('What\'s your name?');
if (a !== null)
alert('Welcome, ' + a);
else
alert('Bye Bye!');
return false;
}
<a href="javascript:aha();">Click me?</a>

Note: In your code, you have used wrong notation. That's a syntax error. JavaScript functions have to be declared in a specific way. Follow that!

关于javascript - 如何在href中运行javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41368958/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com