Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   возможно ли скрипт в скрипте? (https://javascript.ru/forum/misc/79921-vozmozhno-li-skript-v-skripte.html)

leon2009sp 07.04.2020 22:05

возможно ли скрипт в скрипте?
 
Здравствуйте! возможно ли такое скрипт в скрипте?
на самом деле вот: :cray:
function formainp(){
            var str = document.getElementById('glname').value;
            var txt = document.getElementById('surname').value;
			var txt2 = document.getElementById('organ').value;
			var txt3 = document.getElementById('gorod').value;
			var txt4 = document.getElementById('telf').value;
			var txt5 = document.getElementById('pochta').value;
			var txt6 = document.getElementById('marka').value;
			var txt7 = document.getElementById('model').value;
			var txt8 = document.getElementById('weight').value;
			var txt9 = document.getElementById('price').value;
			var txt10 = document.getElementById('analysis').value;
			var txt11 = document.getElementById('nds').value;
			var txt12 = document.getElementById('messa2').value;
            var res = str.replace(/a/gi,"A");
            document.getElementById('output').innerHTML = "<table align='center' cellpadding='0' cellspacing='0' width='95%'><tr><td width='10%' align='center' class='city2'>"+txt3+"</td><td width='2%'>&nbsp;</td><td width='88%'>лист "+txt6+" "+txt7+" "+txt8+" лист."+" лист: "+txt9+" лист. "+txt11+" "+txt10+"<br>
			<script type='text/javascript'>var userName = localStorage.test;if (userName == '101')
			{
				document.write('лист1: "+txt2+". лист3: "+txt4+". лист2: "+txt5+".<br>');
		}
		else
		{document.write('лист1: <a class='link'>Зарегистрироваться</a> лист2: <a class='link'>Зарегистрироваться</a> лист3: <a class='link'>Зарегистрироваться</a><br>');}</script><br>"+txt12+"</td></tr></table>";
            document.getElementById('glname').value = res;
        }

все хорошо, кроме :blink:
<div id="output">отображение</div>
:(
и точки все пропали

Paguo-86PK 07.04.2020 23:37

ИМХO, красивее и легальнее было бы создать элемент таблицы, заполнить её ячейки и включить элемент в документ.
Код с трудом воспринимается:stop:

voraa 08.04.2020 08:53

Не будет работать.
Теги script, вставленные через innerHTML не отрабатывают.
Так сказано в спецификации
https://www.w3.org/TR/2008/WD-html5-...tml#innerhtml0

Note: script elements inserted using innerHTML do not execute when they are inserted.

А куда вы вообще хотите document.write?
Это еще как то допустимо во время парсинга html кода при открытии страницы.
Но после этого уже никак нельзя.
https://developer.mozilla.org/ru/doc...Document/write

Цитата:

Замечание: поскольку document.write пишет строку в поток документа, вызов document.write для закрытого (но загруженного) документа автоматически вызовет document.open, который очистит документ.
Вот так этот innerHTML записать можно, если я правильно в нем разобрался
var userName = localStorage.test;
            document.getElementById('output').innerHTML = `<table align='center' cellpadding='0' cellspacing='0' width='95%'><tr><td width='10%' align='center' class='city2'>${txt3}</td><td width='2%'>&nbsp;</td><td width='88%'>лист ${txt6} ${txt7} ${txt8} лист. лист: ${txt9} лист. ${txt11} ${txt10}<br>
            ${(userName == '101')? `лист1: ${txt2}. лист3: ${txt4}. лист2: ${txt5}.<br>`
           : `лист1: <a class='link'>Зарегистрироваться</a> лист2: <a class='link'>Зарегистрироваться</a> лист3: <a class='link'>Зарегистрироваться</a><br>`}
<br>${txt12}</td></tr></table>`;

leon2009sp 08.04.2020 20:09

попробовал и сделал
 
Спасибо! разобрался! :write:
var userName = localStorage.test;


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