Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.07.2017, 12:42
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

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

Возможно ли отследить появления какого-либо содержимого в iframe и в input? Например, когда что-то появляется в iframe и в input, сработает какое-нибудь событие?
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2017, 13:30
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

Не, на одном домене
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2017, 14:05
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

Сообщение от Rise Посмотреть сообщение
atanov,
Следовательно - да, без конкретного примера больше нечего сказать.
Дык, примера пока нету, только обдумываю, реализуемо или нет.
Скажем так - если пользователь что-то ввёл в input и в iframe, становиться
активной кнопка "далее". А если пусто, то кнопка не активна.
Ответить с цитированием
  #4 (permalink)  
Старый 27.07.2017, 15:33
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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>

Последний раз редактировалось Dilettante_Pro, 27.07.2017 в 15:38.
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2017, 16:12
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

Сообщение от Dilettante_Pro Посмотреть сообщение
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аными тряпками

<?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 появлялась или становилась активной?
Ответить с цитированием
  #6 (permalink)  
Старый 27.07.2017, 18:42
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Некоторые эксперименты - неудачные
<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, 27.07.2017 в 18:58.
Ответить с цитированием
  #7 (permalink)  
Старый 28.07.2017, 11:56
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

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

<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 не годится?
Ответить с цитированием
  #8 (permalink)  
Старый 28.07.2017, 13:00
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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 активировать-дезактивировать кнопку

Последний раз редактировалось Dilettante_Pro, 28.07.2017 в 13:05.
Ответить с цитированием
  #9 (permalink)  
Старый 28.07.2017, 14:14
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

Сообщение от Dilettante_Pro
Dilettante_Pro
Спасибо большое, всё работает.
Ответить с цитированием
  #10 (permalink)  
Старый 08.08.2017, 12:34
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

Сообщение от Dilettante_Pro Посмотреть сообщение
Некоторые эксперименты - неудачные
<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 нормально
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отследить событие изменения скрытого input? helgajijka jQuery 9 29.08.2015 23:59
перемещение содержимого из поля input в другое поле input при помощи нажатия на кнопк scrapmetal Events/DOM/Window 3 22.03.2015 20:45
Как реализовать отправку содержимого из iframe нажатием комбинации клавиш ctrl+enter Naizer Общие вопросы Javascript 3 27.11.2013 17:39
получение ссылки на iframe из содержимого в этом iframe mister_maxim Events/DOM/Window 5 15.02.2013 22:48
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27