Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   отследить появления содержимого в iframe и input (https://javascript.ru/forum/css-html/69920-otsledit-poyavleniya-soderzhimogo-v-iframe-i-input.html)

Rise 28.07.2017 11:09

Цитата:

Сообщение от Dilettante_Pro
неудачные

items это ссылка на iframe.contentWindow

atanov 28.07.2017 11:56

Dilettante_Pro
Объяснил нэправильно:cray:
Вот такой код

<form method = "post" action = "1.php">
quantity </br><input type = "textarea" id = "quantity" name = "quantity" onkeyup = "check()"/></br>
Items </br><iframe src="" id = "items" name = "items" onkeyup = "check()"></iframe></br>
<input type="submit" id = "send" disabled="disabled" value="submit"/></form>


function check() {
  items.document.designMode = "on";
  var i = document.getElementById('quantity');
  var j = document.getElementById('items').contentWindow.document.body.innerHTML;
  if (i!=""&&j!=""){document.getElementById('send').disabled = false;}}


не работает. Работает, если убрать iframe, т.е. кнопка submit становится активной, если что-то ввести в поле input.
Может событие onkeyup для iframe не годится?

Dilettante_Pro 28.07.2017 13:00

Rise, спасибо!
Заработало
<input type="textarea" id="content1" name="content1" value="" readonly>

</br>quantity <input type = "textarea" id ="quantity" name = "quantity"/>
<iframe src="" id="items" name="items" style="width:100%;height:100%""></iframe>
<script>

items.document.designMode = "on";

quantity.oninput =check;
items.oninput = check;
function check() {
     if(quantity.value && items.document.body.innerHTML)
     content1.value = items.document.body.innerHTML;
     else content1.value = '';
}
</script>


atanov,
можете вместо заполнения content1.value активировать-дезактивировать кнопку

atanov 28.07.2017 14:14

Цитата:

Сообщение от Dilettante_Pro
Dilettante_Pro

Спасибо большое, всё работает.

atanov 08.08.2017 12:34

Цитата:

Сообщение от Dilettante_Pro (Сообщение 459940)
Некоторые эксперименты - неудачные
<input type="textarea" id="content1" name="content1" value="" readonly>

</br>quantity <input type = "textarea" id ="quantity" name = "quantity"/>
<iframe src="" id="items" name="items" style="width:100%;height:100%""></iframe>
<script>
var HTML = "<html><head></head><body><u>Document</u>"
                 + "<b>HTML</b></body></html>";
items.document.open();
items.document.write(HTML);
items.document.close()

items.document.designMode = "on";

quantity.oninput = function() {
     if(this.value )
     content1.value = items.contentWindow.document.body.innerHTML;

}

</script>

Цитата:

Сообщение от Dilettante_Pro
Dilettante_Pro
Профессор
 

Спасибо, работает.
Вопрос по Internet Explorer, oninput надо заменять на textInput? Вроде написано, что с версии 9 oninput работает, но у меня почему-то нет. Chrome и Opera нормально


Часовой пояс GMT +3, время: 12:00.