【问题标题】:Unable to redirect to a new URL on button click单击按钮时无法重定向到新 URL
【发布时间】:2018-10-12 07:40:29
【问题描述】:

我的网页中有以下内容:-

<select id="customernames">
//options goes here
</select> 
<button id="myButton" class="float-left submit-button" >Home</button>
<script>
document.getElementById("myButton").onclick = function ()
{
var siteurl = $("#customernames").val()
alert(siteurl);       
window.location.href = siteurl;
};
</script>

我想要做的是重定向到一个新的 url(新网页),当我点击一个按钮时,该 URL 将是选择列表中的一个选项值。 现在目前我能够正确获取 URL 值,但是当我单击按钮时我被重定向到当前页面,所以 window.location.href = siteurl; 似乎会忽略 siteurl 而只是重定向到当前页面。那么有人可以建议吗?

【问题讨论】:

  • 我看不到完整的代码,但我敢打赌它正在提交您的表单。如果不指定action 标签,则默认为当前页面。尝试在 onclick 函数中添加一个 (e):document.getElementById("myButton").onclick = function (e) { 然后在alert(siteurl); 上方执行e.preventDefault();。这将阻止任何其他操作(例如提交表单)
  • @Kamae 是的,效果很好......
  • @Kamae 如果您可以添加您的答案,那么我可以接受它作为答案。
  • 别担心,伙计,@SevaKalashnikov 告诉你另一种有效的方法,而且他提到了我,如果你想接受他的回答,我很好。非常感谢,真的很感激:)

标签: javascript jquery html


【解决方案1】:

jquery click事件可以和return false一起使用,防止表单提交

$(function() {

    $('#myButton').click(function() {
        window.location.href = $("#customernames").val();

        return false;
    });

});

或者正如@Kamae 提到的,您可以将e.preventDefault(); 添加到您当前的函数中

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 1970-01-01
    • 2014-07-23
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    相关资源
    最近更新 更多