2013-02-21 40 views
0

我想結合一些代碼,它會嚴重錯誤(因爲我是垃圾在Javascript)。這是我的原代碼:用破折號替換whitspaces,使所有小寫

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; 
} 

我要去哪裏錯了?

+0

'str.replace(/ \ S + /克, ' - ')toLowerCase();'替換內容,但不更新str。將其分配給一個變量。 – Niklas 2013-02-21 17:05:36

回答

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

.replacetoLowerCase返回新值,它們不改變原來的值。

str =添加到該行的開頭。

0

相反這兩條線:

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

使用此:

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