js中一个按钮调用function()函数,但是不能跳转页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中一个按钮调用function()函数,但是不能跳转页面相关的知识,希望对你有一定的参考价值。

function GotoChangePwd()
var strLogin = document.all("LoginName").value;
window.navigate("UpdatePwd.aspx?LoginName=" + encodeURI(strLogin));

function GotoChangePwd() 
    var strLogin = document.all("LoginName").value;
    window.location.href = "UpdatePwd.aspx?LoginName=" + encodeURI(strLogin);            

参考技术A document.all("LoginName").value
修改为:document.all.LoginName.value
或使用document.getElementById("LoginName").value;

另外网址前加上URL全址

http://www.xxx.com/UpdatePwd.aspx?LoginName=
参考技术B 建议使用window.location.href("UpdatePwd.aspx?LoginName=" + encodeURI(strLogin))试试
window.navigate只适用于IE浏览器,别的内核浏览器都不支持
参考技术C 你这个代码验证了一下 没有问题

可以跳转

你要注意的是 你的页面有没有 LoginName 这个 iput

如果你 LoginName 你用的是服务器控件

那么要写成 <%= LoginName.ClientID%>
var strLogin = document.all("<%= LoginName.ClientID%>").value;

js函数定义和调用

由于JavaScript的函数也是一个对象,上述定义的abs()函数实际上是一个函数对象,而函数名abs可以视为指向该函数的变量。

var abs = function (x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
};

 

这种方式下,function (x) { ... }是一个匿名函数,它没有函数名。但是,这个匿名函数赋值给了变量abs,所以,通过变量abs就可以调用该函数。

abs()//返回NaN

此时abs(x)函数的参数x将收到undefined,计算结果为NaN

要避免收到undefined,可以对参数进行检查:

function abs(x) {
    if (typeof x !== ‘number‘) {
        throw ‘Not a number‘;
    }
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
}

arguments

JavaScript还有一个免费赠送的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments类似Array但它不是一个Array

 
function foo(x) {
    alert(x); // 10
    for (var i=0; i<arguments.length; i++) {
        alert(arguments[i]); // 10, 20, 30
    }
}
foo(10, 20, 30);

利用arguments,你可以获得调用者传入的所有参数。也就是说,即使函数不定义任何参数,还是可以拿到参数的值:

function abs() {
    if (arguments.length === 0) {
        return 0;
    }
    var x = arguments[0];
    return x >= 0 ? x : -x;
}

abs(); // 0
abs(10); // 10
abs(-9); // 9

实际上arguments最常用于判断传入参数的个数。你可能会看到这样的写法:

// foo(a[, b], c)
// 接收2~3个参数,b是可选参数,如果只传2个参数,b默认为null:
function foo(a, b, c) {
    if (arguments.length === 2) {
        // 实际拿到的参数是a和b,c为undefined
        c = b; // 把b赋给c
        b = null; // b变为默认值
    }
    // ...
}

rest参数

ES6标准引入了rest参数

function foo(a, b, ...rest) {
    console.log(‘a = ‘ + a);
    console.log(‘b = ‘ + b);
    console.log(rest);
}

foo(1, 2, 3, 4, 5);

 



以上是关于js中一个按钮调用function()函数,但是不能跳转页面的主要内容,如果未能解决你的问题,请参考以下文章

javascript 中函数 function啥作用

jsp如何循环调用function

如何在一个js文件里调用另一个js文件里的function

在 Bootstrap 模式中单击按钮时调用 JS 函数

js立即执行函数

按钮使用onclick调用js函数参数传递问题