Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > вызов функции в innerHtml


Автор: Yagmort 26.7.2011, 21:10
Подскажите, почему не вызывается функция тут onmouseover='aaa('ddsdf');'", а все остальное пашет ? 

Функция вставки текста
Код

function textVisibleTrue(idElement) {
    var s=idElement;
    var 
    companyTxt="<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;В последнее время источники  добываемые  методами становятся все дороже и дороже,"+
    "<br/><table border='1'><tr><td id='ddsdf'>"+
    "<img src='img/company/pot_station.png' id='pot_station_company_img'"+
    " onmouseover='aaa('ddsdf');'"}
document.getElementById('company').style.display="block";    
document.getElementById(idElement).innerHTML=companyTxt;

вывожу сюда
Код

<p id="company" style="display:none"></p>

тут событие 
Код

<a href="javascript:void(0)"  onclick="textVisibleTrue('company')

вставка самого текста
Код

function aaa (name) 
    {
        document.getElementById(name).innerHTML="gfffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
    }

Автор: SelenIT 27.7.2011, 00:54
Во-первых, рекомендую вывести document.getElementById(idElement).innerHTML сразу после вставки — надо посмотреть, в какую кашу браузер этот companyTxt распарсил, всё-таки куча незакрытых тегов (включая решающий <img>, не говоря о том, что <table> внутри <p> недопустим по стандарту). Ну а во-вторых и в главных: кто будет кавычки в атрибутах экранировать, как бедный браузер догадается, что второй апостроф в 'aaa('ddsdf');' — не конец атрибута? ;)

Автор: Yagmort 27.7.2011, 08:54
\"ddsdf\" все благодарю так и надо было сделать )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)