JavaScript window.location不起作用

时间:2016-02-15 10:57:15

标签: javascript asp.net

我似乎无法在我的asp.net网站上使用JS window.location。

    <head runat="server">
    <title></title>
    <script type="text/javascript">
        function Redirect(URL) {
            window.location.href = URL;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <button id="test" title="test" onclick="Redirect('http://www.google.com');">click me</button>
    </div>
    </form>
</body>
</html>

该按钮似乎会进行回发。 我的语法错了吗?我尝试了没有href的window.location和相同的结果。

3 个答案:

答案 0 :(得分:1)

我认为你应该尝试html输入

<input type="button" value="click me" id="test" onclick="Redirect('http://www.google.com');" />

答案 1 :(得分:0)

尝试使用以下代码更改您的javascript代码

import java.util.Collection;
import java.util.List;

public class HobbyEditor extends CustomCollectionEditor  {

  @SuppressWarnings("rawtypes")
  public HobbyEditor(Class<? extends Collection> collectionType) {
     super(collectionType);

  }

  @Override
  protected Object convertElement(Object element) {

     if (element instanceof Hobby) {
         return element;
     }
     if (element instanceof String) {
         Hobby  h = new Hobby((String)element);
         return h;
     }
     return null;
  }

}

@InitBinder
protected void initBinder(WebDataBinder binder) {

    binder.registerCustomEditor(List.class, "hobby", new HobbyEditor(List.class));

}

当你调用你的javascript函数时添加return,即

function Redirect(URL) {
    window.location.href = URL;
    return false;
}

在您的代码中,当您没有返回false时,它会收到PostBack。

添加即可添加

<button id="test" title="test" onclick="return Redirect('http://www.google.com');">click me</button>

希望这会对你有所帮助。

答案 2 :(得分:0)

请从onclick事件返回false以防止回发页面

<button id="test" title="test" onclick="Redirect('http://www.google.com'); return false;">click me</button>