我有一个脚本可以通过参数获取新页面并重定向到此页面。 我的职责:
function openPage(page) {
alert("Pressed the button!"); //working
window.location.href = "http://localhost:8080/Edas/" + page; //not working
}
和我的按钮:
<button id="btnViewMonthlyPurchaseReport" onclick="openPage('monthlyPurchaseReport.html')">View Monthly Purchase Report</button>
我认为我的问题出在我的基本网址(“localhost:8080 / Edas /”)中,但实际上并不知道如何修复它。 谢谢!
答案 0 :(得分:0)
这样做:
的 JS 强> 的
var url = window.location.href;
var dirnames = url.split('/');
function openPage(page) {
alert("Pressed the button!"); //working
window.location.href = "http://"+ dirnames[2] +"/Edas/" + page;
}
答案 1 :(得分:0)
我认为你说你的问题在URL中是正确的。
您的monthlyPurchaseReport.html在哪里?如果它与按钮的html位于同一目录中,请使用:
function openPage(page) {
alert("Pressed the button!");
window.location.href = page;
}
答案 2 :(得分:0)
我的问题是:我的按钮错误地放在一个表单中,@ t.niese清楚地解释了原因。 谢谢大家的帮助!
答案 3 :(得分:0)
在评论之外,问题是该按钮位于form
元素内。
问题是没有type
属性的按钮会提交form
,window.location.href = ...
会导致(不确定是否在每个浏览器中)导致所描述的问题没有效果,页面将重定向到action
中定义的网址。如果action
中未定义form
,那么它就是当前网址。
您有不同的选择来解决这个问题:
type
更改为button
(<button type="button">View Monthly Purchase</button>
) - 没有类型的默认行为为submit
return false;
函数的末尾放置openPage
以防止默认行为(这类似于 2。,但区别在于{{ 1}}仍然会被标记为button
按钮,这对于某些情况下的可用性非常重要)。