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)

atanov 27.07.2017 12:42

отследить появления содержимого в iframe и input
 
Добрый день,

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

Rise 27.07.2017 13:10

atanov,
В кросс-доменном фрейме - нет.

atanov 27.07.2017 13:30

Не, на одном домене

Rise 27.07.2017 13:36

atanov,
Следовательно - да, без конкретного примера больше нечего сказать.

atanov 27.07.2017 14:05

Цитата:

Сообщение от Rise (Сообщение 459891)
atanov,
Следовательно - да, без конкретного примера больше нечего сказать.

Дык, примера пока нету, только обдумываю, реализуемо или нет.
Скажем так - если пользователь что-то ввёл в input и в iframe, становиться
активной кнопка "далее". А если пусто, то кнопка не активна.

Rise 27.07.2017 15:09

Цитата:

Сообщение от atanov
если пользователь что-то ввёл в input и в iframe

iframe это окно а не элемент ввода

Dilettante_Pro 27.07.2017 15:33

Rise,
В iframe может быть и input, и кнопка, и много чего еще, и кнопка может становиться активной в зависимости от состояния input - я так понял задачу ТС
Что-то вроде
В основной странице
<button id="test">Тест активности в iframe</button>
<iframe id="ifr" src="http://sample.dom/iframe.html"></iframe>
<script>
test.onclick = function() {

       alert(ifr.contentWindow.document.querySelector("#next").style.display);
     
}
</script>


В странице, загружаемой в iframe
<input id="inp" type="text">
<button id="next" style="display:none">Next</button>
<script>
inp.oninput = function() {
     if(this.value)  next.style.display = "block"; 
     else next.style.display = "none"; 
}
</script>

Rise 27.07.2017 16:03

Цитата:

Сообщение от Dilettante_Pro
В iframe может быть и input, и кнопка, и много чего еще

Конечно может это же окно (контейнер) как вкладка, но вы же не говорите например что что-то вводите во вкладку.

atanov 27.07.2017 16:12

Цитата:

Сообщение от Dilettante_Pro (Сообщение 459916)
Rise,
В iframe может быть и input, и кнопка, и много чего еще, и кнопка может становиться активной в зависимости от состояния input - я так понял задачу ТС
Что-то вроде
В основной странице
<button id="test">Тест активности в iframe</button>
<iframe id="ifr" src="http://sample.dom/iframe.html"></iframe>
<script>
test.onclick = function() {

       alert(ifr.contentWindow.document.querySelector("#next").style.display);
     
}
</script>


В странице, загружаемой в iframe
<input id="inp" type="text">
<button id="next" style="display:none">Next</button>
<script>
inp.oninput = function() {
     if(this.value)  next.style.display = "block"; 
     else next.style.display = "none"; 
}
</script>

Спасибо. Не совсем так. Вот соорудил, пожалуйста не кидайтесь ssаными тряпками:write:

<?php
Error_Reporting(E_ALL & ~E_NOTICE);
session_start();
echo '<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">';
echo '<link rel="stylesheet" type="text/css" href="order.css">';
$date = date("d.m.Y H:i").'</p>';
echo "connected as <b>".$_SESSION['user']."</b></p>";
echo $date;
?>

<form method = "post" action = "new_sql_update.php" onsubmit="return save()">
<input type="hidden" id="content1" name="content1" value="" />
<input type="hidden" id="content2" name="content2" value="" />
Items </br></br>
<iframe src="" id="items" name="items"></iframe></br>
quantity </br><input type = "textarea" id ="quantity" name = "quantity"/></br>
Remarks </br></br>
<iframe src="" id="remarks" name="remarks"></iframe></br>
<input type="submit" value="submit"/>
<input type="reset" name="reset" value="clear"/>
</form>
<form action="Exit.php" method="get">
<button type="submit"><b>EXIT</b></button>
</form>

<script>
items.document.designMode = "on";
remarks.document.designMode = "on";
function save(){
document.getElementById('content1').value = document.getElementById('items').contentWindow.document.body.innerHTML;
document.getElementById('content2').value = document.getElementById('remarks').contentWindow.document.body.innerHTML;
return true;}
</script>


Как можно сделать так, что, если во фреймах items и remarks и в inpute quantity есть что-нибудь, кнопка submit появлялась или становилась активной?

Dilettante_Pro 27.07.2017 18:42

Некоторые эксперименты - неудачные
<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>


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