2

私はここで新しいので、プロトコルを尊重していることを願っています;-)

これは、何らかの理由で解決できない簡単な問題です。

PHPファイルを呼び出すポストアクションを含むフォームと、デフォルト値が設定されたいくつかのテキスト入力フィールドがあります。例:

<form class="form-horizontal" method="post" action="profile.php">
<input type="text" class="input-xlarge" id="q-2-Address" name="q-2-Address" value="Park Avenue">
<button type="submit" class="btn btn-primary">Save changes</button>
</form>

デフォルト値を変更せずにフォームを送信すると、$_POST['q-2-Address']期待どおりデフォルトの「パーク アベニュー」が含まれます。

入力テキスト フィールドの値を変更しようとすると (例: "Madison Avenue" に) $_POST['q-2-Address']、期待どおりに "Madison Avenue" に設定される結果が表示されます。

しかし、すべてのテキストを削除して値をクリアしようとすると、$_POST['q-2-Address']空白ではなく、実際には最初に設定されたデフォルト値「Park Avenue」に戻ります。

そのため、以前に入力したフィールドを空白に置き換えてフォームを更新したい場合、これは不可能であり、フィールドがクリアされたことを検出することもできません。empty() を使用してテストしてみましたが、もちろん偽の結果が得られ$_POST、デフォルト値が含まれているため、テキスト フィールドが空であっても空ではありません。

単一のスペースのようなものに入らない限り、実際にフィールドをクリアする方法がわかりません。

それは些細なことですが、誰かがこれについてもっと知っているかもしれません。

ティア

マイク

4

1 に答える 1

0

フォームでデフォルト値を使用する代わりに、プレースホルダーを使用できます...

<form class="form-horizontal" method="post" action="profile.php">
<input type="text" class="input-xlarge" id="q-2-Address" name="q-2-Address" placeholder="e.g. Park Avenue">
<button type="submit" class="btn btn-primary">Save changes</button>
</form>

そうすれば、php コードによって取得されるデフォルトのテキストを使用せずに、その特定の入力ボックスに表示したいものの例を示すことができます。

これは、プレースホルダーがどのように見えるかの jsfiddle です。

http://jsfiddle.net/bfwst/

于 2012-12-01T14:26:15.890 に答える