我有一个发布到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脚本吗?
答案 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>