如何在发布后在PHP代码中获取JS脚本

时间:2013-09-11 16:15:58

标签: php javascript forms

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

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脚本吗?

2 个答案:

答案 0 :(得分: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属性上缺少引号可能导致问题。

答案 1 :(得分: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>