Javascript window.location不起作用

时间:2016-08-10 09:56:21

标签: javascript

我对此代码有疑问,我无法理解。 Window.location以前对我来说很完美,但这次不是,我不知道。当我手动访问此方向时 - 它可以工作,但重定向不起作用 - 只需刷新页面。我不知道该怎么做!

我已经尝试重定向到谷歌等等,但它仍然只是刷新。

$("#remove-form").on("submit", function(event) {
    usunRow();
});

function remove() {
    var id=document.getElementById("id").innerHTML;
    if (id != "ID"){
        $('#remove-modal').modal('show');
    } else $('#error-modal').modal('show');
}

function usunRow(){
    var id=document.getElementById("id").innerHTML;
    if (id != "ID"){
        window.location.href = "usun.php?id="+id;
        alert("usun.php?id="+id);
    } else $('#error-modal').modal('show');
}

这里是我正在使用的所有功能

5 个答案:

答案 0 :(得分:1)

更改 window.locationwindow.location.href这会将窗口位置更改为新位置。

  1. 确保您的usunRow()函数调用完美,但没有 您的浏览器中出现问题控制台
  2. 确保您的if语句执行,可能是您的if语句未执行,这将是您的页面的原因 只是刷新而不改变它的位置。
  3. 更新

    添加返回错误,因为提交表单会刷新您的网页return false会使网页保持静态,而window.location.href会重定向您的网页。

    $("#remove-form").on("submit", function(event) {
                usunRow();
                return false;
    });
    

    希望这可以解决您的问题。

答案 1 :(得分:0)

使用此:

constructor(private _service: OrganizationService){
}

ngOnInit(){
    this.organizations = this._service.getOrganizations();
    console.log(this._service.getOrganizations());
    console.log(this.organizations);    
    }

它没有很好地记录,但window.location.href = "..." 实际上是一个具有非标准行为的对象,例如重新加载页面和一些不可读或未记录/古怪/特定于浏览器的字段。

答案 2 :(得分:0)

如果您打开控制台并输入window.location,您就会明白为什么它不起作用。它是一个包含许多有关当前位置信息的对象:

Location {hash: "", search: "", pathname: "/questions/38870016/javascript-window-location-does-not-work", port: "", hostname: "stackoverflow.com"…}ancestorOrigins: DOMStringListassign: ()hash: ""host: "stackoverflow.com"hostname: "stackoverflow.com"href: "http://stackoverflow.com/questions/38870016/javascript-window-location-does-not-work"origin: "http://stackoverflow.com"pathname: "/questions/38870016/javascript-window-location-does-not-work"port: ""protocol: "http:"reload: reload()replace: ()search: ""toString: toString()valueOf: valueOf()__proto__: Location

因此,您尝试使用字符串(目标网址)替换此对象。已提及此位置对象的href属性是您需要的属性window.location.href = "new url"或短版location.href = "new url"

答案 3 :(得分:0)

你如何调用usunRow()函数? 也许你在锚点上有点击事件而不会阻止它。这就是为什么您的网页会被刷新的原因。你需要在click事件中使用preventDefault()。

答案 4 :(得分:-1)

您可以尝试使用:

window.location.href = "";