передача переменой в 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 как-то эту перменую принимать?
 
для начала нужно понять где и как работает PHP и JS
А потом вопрос отпадет сам собой
www.phpfaq.ru

<script language="JavaScript\">
var Content= \"<? echo $page;?>\";
</script>
как я понимаю
 
да я это понял.... я немогу получить в JS содержимое....

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

PHP:
<script language=\"JavaScript\">   
              var Content= \"<?php echo 'sdfmhbgsadkg' ?>\";   
        </script>  
        <SCRIPT src="editor.js"></SCRIPT>

похорошему должно быть в JavaScript-е Content=sdfmhbgsadkg
а неполучается.
есть пару вопросов:
1. Там переменая должна быть объявлена и если да то как?
2. Может как-то надо принимать, например, как в пхп $_GET['Content']
 
kolyazdv
Окружающий код последнего примера какой? Почему кавычки заслешены? Если это строка, и потом она выводится, то <?php echo 'sdfmhbgsadkg' ?> уже не обрабатывается PHP, а отправляется как есть.

И еще вопрос. PHP вообще обрабатывает этот файл? Если вывод пустой то либо переменная не иницииривана (может быть неправильно написана) либо вообще PHP не обрабатывает файл.
 
вот 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');
 
молодец. очень умно.

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

alert(Content); попробуй повставлять в разных местах.
 
kolyazdv, у тебя яваскрипт в браузере не работает, а ты php-сценарий смотришь. Смотри html-код в браузере.

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