|
|
|
| Приветствую!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="../CSS/style.css">
</head>
<body>
<script type="text/javascript">
<!--
var t =1;
document.getElementById("div1").innerHTML = t;
//-->
</script>
<div id="div1"> </div>
</body>
</html>
|
Не работает(( . Подскажите где ошибка? | |
|
|
|
|
|
|
|
для: mikado3333
(18.07.2012 в 15:55)
| |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="../CSS/style.css">
</head>
<body>
<div id="div1"> </div>
<script type="text/javascript">
<!--
var t =1;
document.getElementById("div1").innerHTML = t;
//-->
</script>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Lelik
(18.07.2012 в 16:04)
| | Получилось, спасибо! | |
|
|
|
|
|
|
|
для: mikado3333
(18.07.2012 в 16:22)
| | понятно почему? | |
|
|
|
|
|
|
|
для: mikado3333
(18.07.2012 в 15:55)
| | Господа опять "затык" с innerHTML или опять не внимательность.
Суть проблемы.
Кнопка открывает новое окно
<script type="text/javascript">
function print_svodka()//печать сводки
{
var Printe = window.open( "R/2/2svodka_pechat.php", "svodka_pechat", "scrollbars=1,width=900,height=400");
Printe.document.getElementById("pr").innerHTML="test";
}
<input type = 'button' onclick = 'print_svodka();' value = 'ПЕЧАТЬ'>
|
Окно открывается, но содержимое не выводится((
код окна дочернего окна
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div name ="print" id="pr">
</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: mikado3333
(18.02.2013 в 15:02)
| | замените
Printe.document.getElementById("pr").innerHTML="test";
| на
alert(Printe.document.getElementById("pr").tagName);
|
И попробуйте проанализировать результат. | |
|
|
|
|
|
|
|
для: Sfinks
(18.02.2013 в 15:41)
| | Хотя в этом случае даже понятнее будет на:
alert(Printe.document.getElementById("pr"));
|
| |
|
|
|
|
|
|
|
для: Sfinks
(18.02.2013 в 15:57)
| | >Хотя в этом случае даже понятнее будет на:
>
alert(Printe.document.getElementById("pr"));
|
этот код выводит результат, а мне нужно передать в div с id=pr строку test. Попробовав Ваш вариант получил null. т.к. ни чего не передал (если правильно понимаю).
Заметил что если часто нажимать кнопку ПЕЧАТЬ переданный текст проскальзывает и исчезает. Не понятно!!!!
Попробовал вот так
<script type="text/javascript">
function print_svodka()//печать сводки
{
var Printe = window.open( "2svodka_pechat.html", "svodka_pechat", "scrollbars=1,width=900,height=400");
alert(Printe.document.getElementById("pr"));
Printe.document.getElementById("pr").innerHTML="test";
}
</script>
<input type = 'button' onclick = 'print_svodka();' value = 'ПЕЧАТЬ'>
|
Результат окно "алертнуло" null, затем окно отобразила то что нужно - test. Объясните логику??? | |
|
|
|
|
|
|
|
для: mikado3333
(18.02.2013 в 16:31)
| | Логика в том, что window.open() выполняется какое-то время, т.к. нужно отправить запрос на сервер, дождаться ответа, обработать, создать DOM нового документа и вот только после этого будет существовать <div name ="print" id="pr"></div>.
А строка, следующая за window.open() выполняется сразу, ничего не ожидая и не проверяя.
Поэтому alert(Printe.document.getElementById("pr")) выводит null! Не потому что "т.к. ни чего не передал", а потому что этого объекта еще не существует!
И совершенно логично, что когда вы вывели alert() после window.open(), то выполнение скрипта приостановилось. А когда вы закрыли окно алерта, то документ Printe уже был создан и все сработало. | |
|
|
|
|
|
|
|
для: Sfinks
(18.02.2013 в 21:13)
| | Спасибо, Sfinks. Теперь понятно в чем "затык". | |
|
|
|