0

これはphp/html形式のテキストエリアコードです

<textarea name="txtDispMsg" cols="1" rows="1"  value="<?php if(isset($disp_msg)){echo $disp_msg;} ?>" <?php if(isset($flag) && $flag == 4){echo "div style = 'border:2px solid red;'" . "/div";}?>></textarea>

ここでは、ユーザーがテキストエリアに値を入力したかどうかを確認しています。フォームに他のエラーがあるかどうかはそこにとどまります..フォームの他のフィールドのデータはそこにとどまります..テキストエリアではありません. なぜ?

テキストエリアに値を設定/固定する間違った方法を使用していますか? 通常のテキストフィールドの場合は機能しますが

4

2 に答える 2

2

値はtextareaで使用されていません、変更

<textarea name="txtDispMsg" cols="1" rows="1"  value="<?php if(isset($disp_msg)){echo $disp_msg;} ?>" <?php if(isset($flag) && $flag == 4){echo "div style = 'border:2px solid red;'" . "/div";}?>></textarea>

<textarea name="txtDispMsg" cols="1" rows="1">
<?php if(isset($disp_msg)){echo $disp_msg;} elseif(isset($flag) && $flag == 4){echo "<div style='border:2px solid red;'></div>";} ?>
</textarea>

参照:textarea

于 2013-02-10T07:08:37.520 に答える
0

値は、HTML 構文の Textarea タグの属性ではありません。Textarea 内にコンテンツを表示する場合は、Textarea の開始タグと終了タグの間にコンテンツを配置する必要があります。value="content" を宣言してコンテンツを設定しようとしていますが、代わりに次のことを行う必要があります。

<textarea name="fieldName" cols="15" rows="4">CONTENT GOES HERE</textarea>

参照: http://www.w3.org/wiki/HTML/Elements/textarea


送信時に値をクリアしたくない場合は、何らかのアクションを探してページの上部で値を処理してから、フォームに値を設定する必要があります。

<?php

// check if values submitted to page and if not, set empty value
// add html escaping just in case
$field1 = (isset($_GET['field1'])) ? htmlspecialchars($_GET['field1']) : "";
$field2 = (isset($_GET['field2'])) ? htmlspecialchars($_GET['field2']) : "";
$field3 = (isset($_GET['field3'])) ? htmlspecialchars($_GET['field3']) : "";
$field4 = (isset($_GET['field4'])) ? htmlspecialchars($_GET['field4']) : "";

// toggle radio button if one was selected
$on = ($field4 == "1") ? "checked" : "";
$off = ($field4 == "0") ? "checked" : "";

?>

<html>
<head><title>Test Page</title></head>
<body>
<h1>Test Page</h1>
<form action="test.php" method="GET">
Field 1: <input type="text" name="field1" value="<?php echo $field1; ?>" /><br />
Field 2: <input type="text" name="field2" value="<?php echo $field2; ?>" /><br />
Field 3: <textarea name="field3" cols="15" rows="5"><?php echo $field3; ?></textarea><br />
Field 4: On <input type="radio" name="field4" value="1" <?php echo $on; ?> /> &nbsp; <input type="radio" name="field4" value="0" <?php echo $off; ?> /><br />
<input type="submit" value="Submit" />
</form>
</body>
</html>

もちろん、追加のロジックとスタイルを追加できますが、コードの主な問題は不適切な HTML 構文であり、テキストエリアは他のフォーム タグとは異なり、「値」パラメーターがありません。

于 2013-02-10T07:24:55.717 に答える