0

我有一个发布到 php 页面的 html 表单。在 php 页面上,我想显示一个带有格式选项的文本区域,这需要 js 脚本。当表单 POST 到 php 页面时,不会应用脚本(我得到一个纯文本区域),但如果我直接转到 .php 页面,则会显示带有格式选项的文本区域(脚本运行成功)。让我把我的代码放在更容易理解的地方

html表单:

<!DOCTYPE html>
<html>
<head>
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);          </script>           
</head>
<body>
<form id="formOne" action="submitForm.php" method="post">
Enter your text below:</p>
<textarea name="userText" cols="70" rows="25"></textarea><br>
<p><input type="submit" value="Submit" /></p>
</div>

</form>
</body>

php:

<html>
<head>
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
</head>
<body>
<?php   
$file="testing.html";
//$current = $_POST['userText'];
$current = file_get_contents($file);
echo "<textarea name=userText2 cols=70 rows=25>".$current."</textarea>";    

?>

如您所见,我在 head 标记的 php 中包含了脚本。现在,如果我在 html 页面上单击提交,我将被定向到 php 页面但 textarea 不显示格式。但是,如果我直接进入 php 页面,则 textarea 具有格式选项。

所以在我看来,当我发布到 php 页面时,脚本没有被检测到/读取?

我尝试了不同的东西,例如

echo '<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"</script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>';

<?php
$current = file_get_contents($file);
?>
 <script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
<?php
  --rest of php code here--
?>

看看脚本是否会运行。但没有成功。

POST 的工作方式是否存在不允许它读取/运行 js 脚本的问题?

4

2 回答 2

0

POST 不会以您提到的方式影响 js 脚本。尝试改变:

echo "<textarea name=userText2 cols=70 rows=25>".$current."</textarea>";

?><textarea name="userText2" cols="70" rows="25"><?php echo $current; ?></textarea><?php

textarea name 属性上缺少引号可能会导致问题。

于 2013-09-11T16:23:15.357 回答
0

刚刚在我的服务器上尝试了这个例子,它工作得很好。不知道你的服务器上有什么障碍。只是为了比较这里是我的代码:

html:

<html>
<head>
<title></title>
</head>
<body>
<form method=post action=frm.php> 
<textarea rows=8 cols=60 name=userText>This is some simple <b>markup</b> text.</textarea>
<input type=submit name=ok value=ok>
</form>
</body>
</html>

php:

<html>
<head>
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
</head>
<body>
<?php   
$current = $_POST['userText'];
echo "<textarea name=userText2 cols=70 rows=25>$current</textarea>";    
?>
</body>
</html>
于 2013-09-11T16:23:27.877 回答