2

它应该使用 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

4

2 回答 2

3

您可以通过返回表单来防止页面刷新,false以免重新加载页面。

<form onSubmit="foo();false;"></form>如果函数foo()没有返回 false。

编辑:或者看起来是答案。通过将属性添加type="button"到您的button元素,这会覆盖默认submit行为。

于 2013-08-26T01:45:18.953 回答
1

问题是,当您从函数返回 false 时,您没有在事件处理程序中返回 false。您需要传递返回值:

<button onclick="return loginLink()">...</button>

但是,正如斯蒂芬在评论中指出的那样,您确实应该远离使用内联事件处理程序。既然我看到你已经包含了 jQuery,如果你可以很容易地识别你的按钮:

<button id="loginButton">...</button>

您可以使用 jQuery 附加到它:

$('#loginButton').click(loginLink);

(这样的脚本应该在那个时候存在的body这样的末尾loginButton

于 2013-08-26T01:53:56.133 回答