2013-02-21 3 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

ответ

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

.replace и toLowerCase вернуть новое значение, они не преобразуют оригинал.

Добавить str = в начало этой линии.

0

Вместо этих двух линий:

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

Используйте это:.

var newStr = str.replace(/\s+/g, '-').toLowerCase(); 
Смежные вопросы