Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2015, 22:46
ToD ToD вне форума
Новичок на форуме
Отправить личное сообщение для ToD Посмотреть профиль Найти все сообщения от ToD
 
Регистрация: 23.09.2015
Сообщений: 4

Назначение onlcick элементу родительского окна
Доброго времени суток.
Из дочернего окна создаю новую ячейку родительскому окну td.
Одновременно пытаюсь присвоить ей событие на отравку сабмит.

newel.onclick = function() {document.forms.form_save_ent.submit();};


Упорно работать не хочет.
Помогите советом. Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2015, 11:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от ToD
Помогите советом
Совет первый - сделай полный тестовый пример.
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2015, 13:36
ToD ToD вне форума
Новичок на форуме
Отправить личное сообщение для ToD Посмотреть профиль Найти все сообщения от ToD
 
Регистрация: 23.09.2015
Сообщений: 4

var parenttbl = window.opener.document.getElementById(\"row_panel\");
var newel = window.opener.document.createElement('td');
var elementid = document.getElementsByTagName(\"td\").length
newel.setAttribute('id',elementid);
newel.onclick = function() {document.forms.form_save_ent.submit();};
parenttbl.appendChild(newel);

Здесь создаю ячейку td в таблице и одновременно прикрепляю onclick.
В результате ошибка "Uncaught TypeError: Cannot read property 'submit' of undefined"
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2015, 15:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

ToD, у тебя не верное представление о создании тестовых примеров...
Оных тут валом! Просто посмотри как это делают другие.
Ответить с цитированием
  #5 (permalink)  
Старый 24.09.2015, 15:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

ToD, вот работающий пример...

tmp.csp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function test(){
	window.open('tmp1.csp');
};
</script>
</head>
<body>
<div id='test'></div>
<button onclick='test();'>Go</button>
</body>
</html>

tmp1.csp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var ow = window.opener.document
var op = ow.getElementById('test');
var o = ow.createElement('button');
o.innerHTML='Test';
o.onclick = function() {alert('Ok');};
op.appendChild(o);
alert('End')
</script>
</head>
<body>
</body>
</html>

Но работать будет только на неком сервере. Если просто файлы скопировать и запустить - работать не будет.
Ответить с цитированием
  #6 (permalink)  
Старый 24.09.2015, 23:50
ToD ToD вне форума
Новичок на форуме
Отправить личное сообщение для ToD Посмотреть профиль Найти все сообщения от ToD
 
Регистрация: 23.09.2015
Сообщений: 4

Ksa, спасибо за разъяснения. Выкладываю часть кода.

exec.php(родительское)
.....
function DoSubmit(){
var w = 450;
var h = 200;
var leftvar = (screen.width-w)/2;
var topvar = (screen.height-h)/2*0.5;
var new_window = window.open(\"\", \"kv2\", \"resizable=no, location=no, width=\"+w+\",height=\"+h+\",left=\"+leftvar+\",top=\"+topvar+\"\");
hid_val = document.getElementById(\"field_entered_surname\").value;
document.getElementById(\"form_surname_pac\").value = hid_val;
document.forms.form_surname_pac_search.submit();
}
.....
</tr>
<tr align = \"center\" height = \"5%\" id=\"row_panel\">
<td class = \"close\" id = \"td_clsp\" onclick = \"window.close();\" colspan = \"2\">
Закрыть
</td>
</tr>
<form action = \"search_pac.php\" method = \"POST\"  name = \"form_surname_pac_search\" target = \"kv2\">
<input type = \"hidden\" id = \"form_surname_pac\" name = \"surname_pac\" value = \"\">
</form>
</table>
<form method = \"POST\" name = \"form_save_ent\" id = \"form_id\">
<input type = \"hidden\" id = \"selected_id_pac\" name = \"id_pac\" value = \"\">
</form>


search_pac.php (дочернее)
....
var parenttbl = window.opener.document.getElementById(\"row_panel\");
var newel = window.opener.document.createElement('td');
var elementid = document.getElementsByTagName(\"td\").length
newel.setAttribute('id',elementid);
newel.innerHTML = \"Запись\";
newel.onclick = function() {document.forms.form_save_ent.submit();};
parenttbl.appendChild(newel);
window.close();
....
Ответить с цитированием
  #7 (permalink)  
Старый 25.09.2015, 00:15
ToD ToD вне форума
Новичок на форуме
Отправить личное сообщение для ToD Посмотреть профиль Найти все сообщения от ToD
 
Регистрация: 23.09.2015
Сообщений: 4

Спасибо всем за помощь. Решил самостоятельно более простым путем.
Изначально создал ячейку таблицы, назначил ей свойство style = \"display: none;\" . Там прописал и onclick и назначил ID.
Потом в дочернем окне просто убрал это свойство через DOM.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к элементам родительского окна prihod ExtJS 1 14.04.2014 22:48
фокус на grid родительского окна demi ExtJS 0 24.11.2013 19:43
В iframe применить стиль родительского окна Nikoole Элементы интерфейса 6 06.10.2011 21:50
Нажать ссылку в iframe из родительского окна max124rus jQuery 1 12.03.2011 13:47
Закрытие родительского окна без диалога Гость Общие вопросы Javascript 1 28.10.2008 00:01