передача переменой в JS

kolyazdv

Новичок
передача переменой в JS

Только сразу не ругайте.... а подскажите плз. просто я в JS профан :(
а нужно срочно разобраться


у меня есть PHP-скрипт и JS мне надо с PHP передать переменую в JS
вычитал что

надо пиписать перед выводом JS:

PHP:
<script language=\"JavaScript\"> 
var Content= \"$page\"; 
</script>
и вызвать скрипт... я так и делаю

PHP:
<script language=\"JavaScript\"> 
var Content= \"$page\"; 
</script>
<SCRIPT src="editor.js"></SCRIPT>
но ниче неполучается :( может надо в JS как-то эту перменую принимать?
 

Romantik

TeaM PHPClub
для начала нужно понять где и как работает PHP и JS
А потом вопрос отпадет сам собой
www.phpfaq.ru

<script language="JavaScript\">
var Content= \"<? echo $page;?>\";
</script>
как я понимаю
 

kolyazdv

Новичок
да я это понял.... я немогу получить в JS содержимое....

уже в html-ке сделал

PHP:
<script language=\"JavaScript\">   
              var Content= \"<?php echo 'sdfmhbgsadkg' ?>\";   
        </script>  
        <SCRIPT src="editor.js"></SCRIPT>
похорошему должно быть в JavaScript-е Content=sdfmhbgsadkg
а неполучается.
есть пару вопросов:
1. Там переменая должна быть объявлена и если да то как?
2. Может как-то надо принимать, например, как в пхп $_GET['Content']
 

vsa

Новичок
kolyazdv
Окружающий код последнего примера какой? Почему кавычки заслешены? Если это строка, и потом она выводится, то <?php echo 'sdfmhbgsadkg' ?> уже не обрабатывается PHP, а отправляется как есть.

И еще вопрос. PHP вообще обрабатывает этот файл? Если вывод пустой то либо переменная не иницииривана (может быть неправильно написана) либо вообще PHP не обрабатывает файл.
 

kolyazdv

Новичок
вот php код
PHP:
<?php
$page='dfsjkngdkfjng';
$html='<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=windows-1251">
<STYLE>

body,td {font-family:Verdana,sans-serif;font-size:11px;}
td.tools {font-size:12px; cursor:default;}

p,form {margin-top:0px;margin-bottom:0px;}

p.head {font-weight:bold; color:#ffffff}

textarea,input {font-weight:normal; font-size:11px; color:#000000; margin-top:0px; margin-bottom:0px; border-style: solid; border-width: 1px; border-color:#666666;}
select,option {font-weight:normal; font-size:11px; font-family:Tahoma,Arial; margin-top:0px; margin-bottom:0px;}
input.button {background:#d0d0d0; color:#000000; border-width:1px; border-color:#d0d0d0; }
input.tbutton {background:#c0c0c0; color:#000000; border-width:1px; border-color:#666666;}

button {font-family:Tahoma,Arial,sans-serif; text-align:right; width:25px; height:25px; background:#dddddd; color:#000000; border-style: solid; border-width:1px; border-color:#dddddd;}

</STYLE>

</HEAD>
<BODY>
<center>
<TABLE width="100%" height="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#666666">
	<TR><TD  height="18" bgcolor="#666666" background="pix/bg.gif"><p class="head">&nbsp;[JS] ArthEdit v 0.2b</b></TD></TR>
	<TR><TD height="1" bgcolor="#dddddd">
		<FORM id="EditForm" action="save.php" method="POST" enctype="multipart/form-data">
		<!--Reserved for additional inputs-->
		<input type="hidden" name="field">
		<input type="hidden" name="filename">
		</FORM>
	</TD></TR>
	<TR><TD height="1" bgcolor="#dddddd"></TD></TR>
	<TR><TD height="25" bgcolor="#dddddd"><div id="tools"></div></TD></TR>
	<TR><TD height="25" bgcolor="#dddddd">
		<div id="fonts">&nbsp;
		Шрифт
		<select id="fface" onchange="SetFace()">
		<option value="Arial">Arial
		<option value="Courier New">Courier New
		<option value="Tahoma">Tahoma
		<option value="Times New Roman">Times New Roman
		<option value="Verdana" selected>Verdana
		</select>
		Размер
		<select id="fsize" style="width:40" onchange="SetSize()">
		<option value="1">1
		<option value="2" selected>2
		<option value="3">3
		<option value="4">4
		<option value="5">5
		<option value="6">6
		<option value="7">7
		</select>
		</div>
	</TD></TR>
	<TR><TD height="1" bgcolor="#dddddd"></TD></TR>
	<TR>
		<TD bgcolor="#ffffff"><IFRAME id="EditFrame" width="100%" height="100%" frameborder="0" contenteditable="true"></IFRAME></TD>

	</TR>
	<TR><TD height="1" bgcolor="#dddddd"></TD></TR>
	<TR>
		<TD height="15"><input type="button" class="button" style="width:100%" value="Сохранить" onclick="Save()"></TD>
	</TR>
	<TR><TD height="1" bgcolor="#dddddd"></TD></TR>
</TABLE>
</center>

<script language=\"JavaScript\"> 
	
var Content= \" '.$page.'\"; 
</script>

<SCRIPT src="editor.js">var Content= " '.$page.'";</SCRIPT>
</BODY>
</HTML>';
echo $html;
?>
а вот ява скрипт editor.js

PHP:
var EditFieldHeader =
	"<html><head>\n" +
	"<style>\n" +
	"body,td {font-family:Verdana,sans-serif;font-size:11px;}\n" +
	"td { border:1px dotted #dddddd;}" +
	"p {margin-top:0px;margin-bottom:0px;}\n" +
	"a:link {text-decoration:underline;color:#444444}\n" +
	"a:hover {text-decoration:none;color:#444444}\n" +
	"</style></head>\n" +
	"<body leftmargin=1 rightmargin=0 topmargin=1 bottommargin=0 marginwidth=1 marginheight=1>\n";
var EditFieldHeaderOut =
	"<html><head>\n" +
	"<style>\n" +
	"body,td {font-family:Verdana,sans-serif;font-size:11px;}\n" +
	"p {margin-top:0px;margin-bottom:0px;}\n" +
	"a:link {text-decoration:underline;color:#444444}\n" +
	"a:hover {text-decoration:none;color:#444444}\n" +
	"</style></head>\n";

var EditFieldFooter = "\n</body><html>";
var EditFieldFooterOut = "\n<html>";

var PanelStyle = "<style>\n" +
	"body,td {font-family:Verdana,sans-serif;font-size:11px;}\n" +
	"form {margin-top:0px;margin-bottom:0px;}\n" +
	"textarea,input {font-weight:normal; font-size:11px; color:#000000; font-family:Tahoma,Arial; margin-top:0px; margin-bottom:0px; border-style: solid; border-width: 1px; border-color:#666666;}\n" +
	"\n" +
	"</style>\n";

function Toolkit () {
	var TStyle = '';
	if (navigator.userAgent.match(/msie/i)) TStyle = new Array('Undo','Redo','separator','Cut','Copy','Paste','separator','separator','Bold','Italic','Underline','StrikeThrough','Superscript','Subscript','separator','JustifyLeft','JustifyCenter','JustifyRight','JustifyFull','separator','InsertOrderedList','InsertUnorderedList','Indent','Outdent','separator','CreateLink','InsertHorizontalRule','InsertTable','InsertImage','separator','ForeColor','BackColor','separator','separator','RemoveFormat');
	if (navigator.userAgent.match(/gecko/i)) TStyle = new Array('undo','redo','separator','cut','copy','paste','separator','separator','bold','italic','underline','strikethrough','superscript','subscript','separator','justifyleft','justifycenter','justifyright','justifyfull','separator','insertorderedlist','insertunorderedlist','indent','outdent','separator','createlink','inserthorizontalrule','inserttable','insertimage','separator','forecolor','backcolor','separator','separator','removeformat');
	var TImage = new Array('undo','redo','','cut','copy','paste','','','b','i','u','s','sup','sub','','l','c','r','j','','ol','ul','in','out','','a','hr','tab','img','','cfg','cbg','','','F');
	var TTitle = new Array('Отменить','Повторить','','Вырезать','Копировать','Вставить','','','Полужирный','Курсив','Подчеркнутый','Перечеркнутый','Степень','Индекс','','По левому краю','По центру','По правому краю','По ширине','','Нумерованный список','Маркированный список','Увеличить отступ','Уменьшить отступ','','Гиперссылка','Линия','Вставить таблицу','Вставить изображение','','Цвет шрифта','Цвет фона','','','Снять форматирование');

	var Toolkit = "<Table cellpadding=0 cellspacing=1 border=0><Tr>\n";

	for (i in TStyle) {
		if (TStyle[i] != 'separator') Toolkit += "<Td><button class=tools width=20 height=20 onclick=\"setStyle('"+TStyle[i]+"')\" onmouseover=\"style.background='#c0c0c0';style.borderColor='#666666';\" onmouseout=\"style.background='#dddddd';style.borderColor='#dddddd';\" title=\""+TTitle[i]+"\"><img src=pix/"+TImage[i]+".gif></button></Td>\n";
		else Toolkit += "<Td width=1 bgcolor=#c0c0c0></Td>\n";
	}
	document.getElementById('tools').innerHTML = Toolkit+"</Tr></Table>";
}
Toolkit();

function setStyle (TStyle) {
	if (TStyle.match(/inserttable/i)) {
		var Form = "<html>" +
			"<head>" +
			"<title>Вставка таблицы</title>" +
        	PanelStyle +
			"</head>\n" +
			"<script language=Javascript>\n" +
			"function AddTbl() {\n" +
				"var nTable = '<TABLE width='+document.forms['tblf'].elements['width'].value+' height='+document.forms['tblf'].elements['height'].value+' cellpadding='+document.forms['tblf'].elements['padding'].value+' cellspacing='+document.forms['tblf'].elements['spacing'].value+' border='+document.forms['tblf'].elements['border'].value+' bgcolor=#'+document.forms['tblf'].elements['bgcolor'].value+'>';\n" +
				"for (r=0;r<document.forms['tblf'].elements['rows'].value;r++) {\n" +
					"nTable += '<tr>';\n" +
					"for (c=0;c<document.forms['tblf'].elements['cols'].value;c++) {\n" +
						"nTable += '<td></td>';\n" +
					"}\n" +
					"nTable += '</tr>';\n" +
				"}\n" +
				"nTable += '</TABLE>';\n" +
				"//window.opener.EditField.focus();\n" +
				"var Field = window.opener.EditFieldHeader+window.opener.EditField.body.innerHTML+nTable+window.opener.EditFieldFooter;\n" +
				"window.opener.EditField.open();\n" +
				"window.opener.EditField.write(Field);\n" +
				"window.opener.EditField.close();\n" +
				"window.close();\n" +
			"}</script>\n" +
			"<body topmargin=0 leftmargin=0>\n" +
			"<br><form id=tblf><table width=100%>" +
				"<tr><td>Ширина таблицы</td><td><input size=15 name=width value='100%'></td></tr>" +
				"<tr><td>Высота таблицы</td><td><input size=15 name=height value='200'></td></tr>" +
				"<tr><td>Количество столбцов</td><td><input size=15 name=cols value='5'></td></tr>" +
				"<tr><td>Количество строк</td><td><input size=15 name=rows value='2'></td></tr>" +
				"<tr><td>Ширина бордюра</td><td><input size=15 name=border value='1'></td></tr>" +
				"<tr><td>Отступ</td><td><input size=15 name=padding value='2'></td></tr>" +
				"<tr><td>Расстояние между ячейками</td><td><input size=15 name=spacing value='1'></td></tr>" +
				"<tr><td>Цвет фона</td><td><input size=15 name=bgcolor value='FFFFFF' maxlength=6></td></tr>" +
				"<tr><td colspan=2><input type=button value=Вставить style='width:100%' OnClick=\"AddTbl()\"></td></tr>" +
			"</table></form>\n" +
			"</body>" +
			"</html>";

        var TabPanel = window.open("","TabPanel","dependent=1,width=300,height=220,status=yes");
		TabPanel.document.open();
        TabPanel.document.write(Form);
        TabPanel.document.close(); 
	} else if (TStyle.match(/insertimage/i)) {
        var Form = "<html><head>" +
			PanelStyle +
			"<title>Загрузка изображения</title></head>" +
			"<body leftmargin=0 rightmargin=0 topmargin=0 bottommargin=0 marginwidth=0 marginheight=0>\n" +
			"<FORM action=\"saveimg.php\" method=\"POST\" enctype=\"multipart/form-data\" id=\"imgform\">" +
			"<input type=\"file\" name=\"img\" style=\"width:400\">" +
			"<input type=\"hidden\" name=\"id\" value=\"165\">" +
			"<br><input type=\"submit\" value=\"OK\" style=\"width:400\" onclick=\"window.opener.EditField.execCommand('insertimage',false,document.forms['imgform'].elements['img'].value);\">" +
			"</FORM>" +
			"\n</body><html>";

		ImgPanel = open('', 'ImgPanel', 'dependent=1,width=400,height=10,status=no,toolbar=no,menubar=no,location=no,resizable=yes');

		ImgPanel.document.open();
		ImgPanel.document.write(Form);
		ImgPanel.document.close();
	} else if (TStyle.match(/^createlink$/i)) {
		var Url = prompt('Введите адрес','http://');
		EditField.execCommand('CreateLink',false,Url);
	} else if (TStyle.match(/forecolor|backcolor/i)) {
		var Form = "<html><head>" +
		PanelStyle +
		"<title>Палитра</title></head>" +
		"<body leftmargin=0 rightmargin=0 topmargin=0 bottommargin=0 marginwidth=0 marginheight=0>\n<table width=\"360\" height=\"100\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td height=\"40\">" +
		"<form name=clr>" +
		"&nbsp;<input type=text name=colr style=\"width:40;height:30\" readonly>&nbsp;" +
		"<input type=text name=colr_hex style=\"width:60\" value=#ffffff>" +
		"</form>" +
		"</td></tr><tr><td><table width=\"360\" height=\"60\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n";
		var i = 0;
		for(r=0; r<6; r++){
			for(g=0; g<6; g++){
				for(b=0; b<6; b++){
					if (i==0) Form += '<tr>\n';
					colr = i2hx(r)+i2hx(g)+i2hx(b);
					Form += "<td width=10 height=10 bgcolor=#"+colr+
					" onclick=\"window.opener.EditField.execCommand('"+TStyle+"',false,'#"+colr+"');window.close();\""+
					" onmouseover=\"document.forms['clr'].elements['colr'].style.background='#"+colr+"';document.forms['clr'].elements['colr_hex'].value='#"+colr+
					"'\"><img src=pix/1x1.gif height=10 border=0></td>\n";
					i++;
					if (i==36) {
						Form += '</tr>';
						i=0;
					}
				}
			}
		}
		Form += '</table></td><tr><table>';
		Form += "\n</body><html>";

		ColorPanel = open('', 'ColorPanel', 'dependent=1,width=360,height=80,status=yes,toolbar=no,menubar=no,location=no,resizable=no');

		ColorPanel.document.open();
		ColorPanel.document.write(Form);
		ColorPanel.document.close();
	} else {
		EditField.execCommand(TStyle,false,null);
	}
}

function i2hx(i) {
  i*=51;
  if (i<16) return "0"+i.toString(16);
  else return i.toString(16);
}

function SetFace () {EditField.execCommand('fontname',false,document.getElementById('fface').value)}
function SetSize () {EditField.execCommand('fontsize',false,document.getElementById('fsize').value)}


function Save () {
	if (navigator.userAgent.match(/msie/i)) document.forms['EditForm'].elements['field'].value = EditFieldHeaderOut + EditField.body.outerHTML + EditFieldFooter;
	if (navigator.userAgent.match(/gecko/i)) document.forms['EditForm'].elements['field'].value = EditFieldHeaderOut + "<body bgcolor=" + EditField.bgColor + ">\n" + EditField.body.innerHTML + "\n</body>" + EditFieldFooter;
	document.forms['EditForm'].elements['filename'].value = prompt('Введите имя файла:','.html');
	//Saved = 1;
	document.forms['EditForm'].submit();
	alert("fxzcgdsfgsd");
	alert(document.forms['EditForm'].elements['field'].value);
}


if (navigator.userAgent.match(/msie/i)) EditField = frames['EditFrame'].document;
else if (navigator.userAgent.match(/gecko/i)) EditField = document.getElementById('EditFrame').contentDocument;
else alert("ArthEdit is not supported by your browser");
EditField.designMode = 'On';
EditField.open();
EditField.write(EditFieldHeader);
EditField.write(Content);
EditField.write(EditFieldFooter);
EditField.close();

EditField.execCommand('fontname',false,'Verdana');
EditField.execCommand('fontsize',false,'2');
 

Фанат

oncle terrible
Команда форума
молодец. очень умно.

скажи, у тебя кто-то просил хоть строчку кода?
или ты самостоятельно, такой умный, догадался?
 

vsa

Новичок
Проблема в JS, скорее всего. Переменная Content имеет требуемое значение уже после того как нужное значение использовано, а до инициализации оно равно пустой строке.

alert(Content); попробуй повставлять в разных местах.
 

vasa_c

Новичок
kolyazdv, у тебя яваскрипт в браузере не работает, а ты php-сценарий смотришь. Смотри html-код в браузере.

Что вот в этом месте получилось?
Код:
<script language=\"JavaScript\">   
              var Content= \"<?php echo 'sdfmhbgsadkg' ?>\";   
        </script>
 
Сверху