0

PHP でテキスト領域の値を取得する際に問題が発生しています (未定義になります)。

私のコードはとてもシンプルです。私のHTMLは:

<form name="contactform" method="POST" action="submit_form.php">    
<input type="text" class="formInput" placeholder="Your Name" id="first_name" maxlength="50" size="20" />
<input type="text" class="formInput" placeholder="Email Address" id="email" maxlength="80" size="20" /> 
<textarea class="formInput" placeholder="Your Message" name="comments" id="comments" maxlength="1400" cols="20" rows="6"></textarea>
<input type="submit" id="SubmitContactForm" class="myButton" value="Submit" />
</form>

私のPHP:

echo $_POST['comments'];

これによりundefined、テキストエリア内に何を書いても、 になります。ここでいくつかの解決策を検索し、「名前」と「ID」を追加して両方を異なるものにする、追加するなど、いくつかのものを見つけましたがhtmlspecialchars($_POST['comments'])、これらの解決策はすべて機能しません。このテキストエリアだけで、他のフィールドの値を問題なく取得できることをメモしておきます。

何が問題になる可能性がありますか?

4

8 に答える 8

1

テキストエリアの name-attribute を定義していません。追加:name="comments"それに:

<textarea class="formInput" name="comments" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6"></textarea>

それでも表示されない場合は、必ず次の方法でフォームを送信してくださいmethod="post"

于 2013-02-25T14:46:15.933 に答える
1

textarea name="comments" に name 属性が必要です

<textarea class="formInput" placeholder="Your Message" id="comments" name="comments" maxlength="1400" cols="20" rows="6"></textarea>
于 2013-02-25T14:47:02.673 に答える
0

フォームの投稿を受け取るスクリプトにこれを追加してみてください。

print "POST: " . print_r($_POST, true) . "\n"
   . "GET: " . print_r($_GET, true) . "\n";

「GET」の下に「comments」が表示される場合は、フォームのmethod=postを設定していません。

于 2013-02-25T14:47:30.667 に答える
0

textarea の form 属性を指定してみてください。これで、フォームの id を設定します。追加の利点は、これによりテキストエリアをフォームの外にも配置できることです。ソース: http://www.w3schools.com/tags/tag_textarea.asp

于 2016-03-15T04:34:06.633 に答える
0

name 属性を追加するのを忘れました。あなたのhtmlは次のようになります

<textarea name="comments" class="formInput" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6"></textarea>
于 2013-02-25T14:46:45.177 に答える
0
<textarea class="formInput" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6" name="yourtextarea"></textarea>
于 2013-02-25T14:46:59.210 に答える
-1

textarea次のようなクラスの一部を削除します

<textarea name="Address" rows="3" class="input-text full-width" placeholder="Your Address" ></textarea>

<textarea name="Address" rows="3" class="full-width" placeholder="Your Address" ></textarea>

テンプレート(購入したテンプレート)によって異なります。UI 上の正しいオブジェクトから値を取得するための JavaScript の一部を含めて開発しますが、input-textfindのような要素に対してのみ$('input[type=text]')です。

于 2014-10-26T14:11:28.860 に答える