JavaScript сценарий innerhtml - PullRequest
1 голос
/ 14 мая 2010

привет, я хочу вызвать функцию changeDivHTML, которая передает изображение

   <a href="javascript:void(0)" onclick="changeDivHTML(<img src='.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'>)">

и функция добавляет эти изображения к определенному элементу id.

функция это

 <script language="javascript" type="text/javascript">
                    function changeDivHTML(item)
                    {
                    alert(item);
                        previousInnerHTML = 'item';
                        alert(previousInnerHTML);
                        document.getElementById('image').innerHTML = previousInnerHTML;
                     }
</script>

, но когда я нажимаю на браузер изображений, появляется сообщение об ошибке JavaScript.

Error: invalid XML attribute value
Source File: http://xxx.xxx.xxx.xxx:xxx/product_info.php?products_id=31
Line: 1, Column: 23
Source Code:
changeDivHTML(<img src=images/products/top/product_big1.jpg>)

Пожалуйста, помогите, как удалить эту ошибку.

Ответы [ 5 ]

2 голосов
/ 14 мая 2010

Сначала вы должны передать как строку, а не как тег!И вы должны закрыть его в конце.

<a href="javascript:void(0)" onclick="changeDivHTML(\"<img src='.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'/>\")">

Во-вторых, вы должны изменить скрипт таким образом, чтобы получить тег изображения там, где вы хотите:

<script language="javascript" type="text/javascript">
                    function changeDivHTML(item)
                    {                        
                        previousInnerHTML = item;
                        document.getElementById('image').innerHTML = previousInnerHTML;
                     }
</script>

Надеюсь, я помог.=)

2 голосов
/ 14 мая 2010

changeDivHTML требует, чтобы вы передали ей строку, но вы забыли разделители, которые являются причиной ошибок.

<a href="javascript:void(0)" onclick="changeDivHTML('<img src=\''.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'\'>')">
1 голос
/ 14 мая 2010

Попробуйте, передав параметр в виде строки, как показано ниже

<a href="javascript:void(0)" onclick="changeDivHTML('<img src='.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'>')">

Не забудьте обработать escape-символы.

0 голосов
/ 14 мая 2010

Я предполагаю, что вы пытаетесь изменить внутренний HTML-код DIV на какой-либо другой контент при нажатии на ссылку. Проще ссылаться на какой-то другой HTML, уже содержащийся в документе (возможно, скрытый style="display:none", если он должен быть изначально скрыт). Вот пример:

<div id="div1">Here's div1 <img src="1.png"/></div>
<div id="div2">Here's div2.</div>
<a href="#" onclick="changeDivHtml('div1', 'div2')">Click to Change</a>
<script language="javascript">
  function changeDivHtml(source, target) {
    var elSource = document.getElementById(source)
      , elTarget = document.getElementById(target);
    elTarget.innerHTML = elSource.innerHTML;
  }
</script>
0 голосов
/ 14 мая 2010

Передайте ему строку (то есть что-то, заключенное в кавычки), а не недействительный E4X

...