它应该使用uname参数加载index.html页面,但出于某种原因,它只是一遍又一遍地重新加载这个页面
我已经尝试了我能想到的每一个变体,包括查看我自己和其他人的其他工作示例。这是行不通的,因为它讨厌我。
function loginLink() {
var linkname = getURLParameter("uname");
window.location.replace("http://www.walkwithpals.com/index.html?uname=" + linkname);
}
这是html
<button onclick="loginLink()">Already have an account and want to link to a friend?</button>
以下是实际网站和相关网页WalkWithPals
答案 0 :(得分:3)
您可以通过让表单返回false
来阻止页面刷新,以免重新加载页面。
<form onSubmit="foo();false;"></form>
如果函数foo()
没有返回false。
编辑:或者this看起来是答案。
通过将属性type="button"
添加到button
元素,这会覆盖默认的submit
行为。
答案 1 :(得分:1)
问题在于,当您从函数返回false时,您不会在事件处理程序中返回false。您需要传递返回值:
<button onclick="return loginLink()">...</button>
但是,as Stephen notes in the comments,你真的应该放弃使用内联事件处理程序。因为我看到你已经包含了jQuery,如果你能够轻松识别你的按钮:
<button id="loginButton">...</button>
您可以使用jQuery附加到它:
$('#loginButton').click(loginLink);
(这样的脚本应该放在body
的末尾,以便loginButton
在那时存在)