javascript document.write ломая мою страницу - PullRequest
1 голос
/ 28 сентября 2010

У меня есть этот response.write на моей странице

function roundthecon() {
document.write(Math.round(exchRate*Math.pow(10,2))/Math.pow(10,2));
}

Но он переписывает всю мою страницу и заменяет ее на округленное число, есть ли другой способ сделать это без переписываниямоя страница?

Спасибо

Джейми

ОБНОВЛЕНИЕ

Полный JavaScript

if (exchRate != "") {

function roundthecon() {
var value = Math.round(exchRate*Math.pow(10,2)) / Math.pow(10,2);
$('.tablenotes > p > strong ').append(value);
}

function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}


            // When the document is loaded..
            $(document).ready(function(){


                    // Grab an array of the table cells
                    $('.evenprop table tr td:not(.title)').each(function(){

                            // Calculate the pound price
                            var v_euro = $(this).html();

                            if (v_euro != "N/A") {

                            var v_euro = v_euro.replace(/,/g,'');
                            var v_euro = v_euro.replace(/\u20AC/g, '');
                            var v_euro = v_euro.replace(/£/g, '');

                            var v_pound = Math.round(v_euro / exchRate);
                            v_pound = addCommas(v_pound);

                            // Create a new span element for the pound


                            // Insert it at the end of the table cell

                            if (exchRate == <%= Session("xch_dollar") %>) {
                            $(this).prepend("$");
                            }
                            if (exchRate == <%= Session("xch_ntl") %>) {
                            $(this).prepend("X");
                            }
                            if (exchRate == <%= Session("xch_euro") %>) {
                            $(this).append("&euro;");
                            }

                            var o_span = $('<span/>').html(' <span style="font-weight:normal;" id="exchRate">(&pound;' + v_pound + ')</span>');
                            $(this).append(o_span);

                            }
                    });

            });

            }

Ответы [ 2 ]

4 голосов
/ 28 сентября 2010
function roundthecon() {
  var value = Math.round(exchRate*Math.pow(10,2)) / Math.pow(10,2);
  $('#some_element_id').text(value);
}

document.write обычно лучше не использовать. Он может делать некоторые странные вещи.

0 голосов
/ 28 сентября 2010

Попробуйте что-то вроде этого:

function roundthecon() {
    document.innerHtml+=(Math.round(exchRate*Math.pow(10,2))/Math.pow(10,2));
}
...