Javascript 将空格替换为破折号,使所有空格都小写

Javascript 将空格替换为破折号,使所有空格都小写,javascript,Javascript,我正在尝试合并一些代码,但它出了严重的错误(因为我对Javascript一窍不通)。这是我的原始代码: function onSubmit(){ document.forms["login"]["redirect_to"].value = document.forms["login"]["log"].value; } 我想去掉空格,用破折号替换,并使所有内容都小写,这是我的尝试: function onSubmit(){ var str = document.forms[

我正在尝试合并一些代码,但它出了严重的错误(因为我对Javascript一窍不通)。这是我的原始代码:

function onSubmit(){
    document.forms["login"]["redirect_to"].value = document.forms["login"]["log"].value;
}   
我想去掉空格,用破折号替换,并使所有内容都小写,这是我的尝试:

function onSubmit(){
    var str = document.forms["login"]["log"].value;
    str.replace(/\s+/g, '-').toLowerCase();
    document.forms["login"]["redirect_to"].value = str;
}

哪里出错了?

.replace
toLowerCase
返回新值,它们不会转换原始值


str=
添加到该行的开头。

.replace
toLowerCase
返回新值,它们不会转换原始值


str=
添加到该行的开头。

而不是这两行:

str.replace(/\s+/g, '-').toLowerCase();
    document.forms["login"]["redirect_to"].value = str;
使用以下命令:

var newStr = str.replace(/\s+/g, '-').toLowerCase();

而不是这两行:

str.replace(/\s+/g, '-').toLowerCase();
    document.forms["login"]["redirect_to"].value = str;
使用以下命令:

var newStr = str.replace(/\s+/g, '-').toLowerCase();
str.replace(/\s+/g,'-').toLowerCase()
替换内容,但不更新str。将其分配给变量。
str.replace(/\s+/g,'-')。toLowerCase()替换内容,但不更新str。将其分配给变量。