0

PHPページに投稿するHTMLフォームがあります。PHP ページで、js スクリプトを必要とする書式設定オプションを含むテキストエリアを表示したいと考えています。フォームが php ページに POST すると、スクリプトは適用されません (プレーン テキストエリアが表示されます) が、.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>";    

?>

ご覧のとおり、php の head タグにスクリプトを含めました。ここで、html ページで [送信] をクリックすると、php ページに移動しますが、テキストエリアがフォーマットで表示されません。ただし、php ページに直接移動すると、テキストエリアに書式設定オプションがあります。

PHPページにPOSTすると、スクリプトが検出/読み取られないように思えますか?

など、さまざまなことを試しました。

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--
?>

スクリプトが実行されるかどうかを確認します。しかし、成功しません。

js スクリプトの読み取り/実行を許可しない POST の動作方法に何かありますか?

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

テキストエリア名プロパティに引用符がないことが問題を引き起こしている可能性があります。

于 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 に答える