IE9 JavaScript заменить не работает - PullRequest
0 голосов
/ 02 марта 2012

У меня есть строка, такая как «Value = $ val $», и я хочу заменить $ val $ некоторым значением, например «$ 0.00»

итоговая строка может выглядеть как «Значение = $ 0.00»

Это работает в Firefox и IE 7 и IE 8, но не работает в IE 9, есть идеи почему? и как мне решить проблему?

Любое значение, кроме $ 0,00 (например, $ 5,00), работает без проблем.

http://jsfiddle.net/jhdVV/5/

edit: обновлена ​​ссылка с текстовым полем и кнопкой для проверки значений diff.

http://jsfiddle.net/jhdVV/10/

В IE 9 я получаю "Value = $ val $ .00"

Браузер находится в стандартном режиме.

Примечание: Я работаю над унаследованным кодом, поэтому в идеале я бы хотел избежать заманчивых решений jquery.

Ответы [ 2 ]

5 голосов
/ 02 марта 2012

По какой причине вы не просто делаете это?

function replaceValue(source, find, replacement) {
    return source.replace(find, replacement);
}
2 голосов
/ 02 марта 2012

$0 в вашем тексте замены по сути является неинициализированной переменной, поведение которой не определено. Итак, избегайте знака доллара:

$$0.00
...