2016-08-08 1 views
1

У меня есть проблема, пожалуйста, помогите мне: Моя ошибка: Uncaught NoModificationAllowedError: Не удалось установить свойство 'innerText' в 'HTMLElement': элемент 'input' не поддерживает ввод текста. Мой код:Не удалось установить свойство 'innerText' на 'HTMLElement'

<div id="chatmessage"> 
        <div id="fb-root"></div> 
        <script> 
        (function(d, s, id) { 
        var js, fjs = d.getElementsByTagName(s)[0]; 
        if (d.getElementById(id)) return; 
        js = d.createElement(s); js.id = id; 
        js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v2.5"; 
        fjs.parentNode.insertBefore(js, fjs); 
        }(document, 'script', 'facebook-jssdk')); 
        </script> 
        <div style="position:fixed; z-index:9999999; right:10px; bottom:10px;"> 
        <div class="smallfont" style="margin-bottom:-6px"> 
         <input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.innerText = ''; this.value = 'Chat với chúng tôi'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Chat với chúng tôi'; }" style="width:250px;color: ‪#‎333;font-size:16px;margin:0px;padding:7px;background-color: ‪#‎4172B0‬;border-radius: 6px;margin-right:-10px;margin-bottom:5px;" type="button" value="Chát với chúng tôi"/> 
         <div style="margin: 0px; padding: 0px; border: 0px inset;"> 
          <div style="display: none;"> 
           <div class="fb-page" data-adapt-container-width="true" data-height="300" data-hide-cover="false" data-href="<?=$fanpage?>" data-show-facepile="true" data-show-posts="false" data-small-header="true" data-tabs="messages" data-width="250" style="position:fixed; z-index:9999999; right:0px; bottom:46px;"></div> 
          </div> 
         </div> 
        </div> 
      </div></div> 

ответ

1

input элементы не могут быть родителем любого узла, включая текстовые узлы. Установив свой объект innerText, вы пытаетесь создать текстовый узел, чтобы сделать его дочерним.

Возможно, вам будет интересно установить его атрибут value, что и показано в поле ввода.

+0

Как я могу это исправить? Я новичок. – shinchao

+0

Удалить все упоминания 'this.innerText = '';' из атрибута 'onclick' вашего элемента ввода. Я также хотел бы рекомендовать отделить ваши JavaScript и CSS от вашего HTML вместо того, чтобы создавать их атрибуты. – kamoroso94

+0

Спасибо за поддержку, эта ошибка не исправлена, спасибо kamoroso94! – shinchao