0

送料を見積もるためのフォームフィールドがあります。現在、フィールドには「ZIP /郵便番号」というラベルがあり、フォームフィールド自体はデフォルトで空です。私は次のことをしたい:

  1. フォームフィールドの「内側」にラベルを付けて、「郵便番号を入力してください...」と表示されるようにします(おそらくvalue ="

  2. ユーザーがカーソルをフォームフィールドに置くと、デフォルトのテキストが削除されます。

  3. ユーザーが郵便番号を入力して送信ボタンをクリックすると、郵便番号(=入力した値)がフォームフィールドにエコーされ、デフォルトのテキストが置き換えられます。

これが私が使っているコードです:

<label for="postcode" <?php echo $this->__('Zip/Postal Code') ?></label>
<input class="input-text validate-postcode<?php if ($this->isZipCodeRequired()):?>
 required-entry<?php endif;?>" type="text" id="postcode" name="estimate_postcode" 
 value="<?php echo $this->htmlEscape($this->getEstimatePostcode()) ?>" />

どうすればこれを達成できますか?

4

2 に答える 2

3

HTML5プレースホルダー属性を使用して、クライアント側でテキストを非表示にすることができます。クロスブラウザにするには、jQuery Placeholderプラグイン(または同様のプラグイン)を使用します。

フォームの送信方法に応じて、GETまたはPOST変数として*estimate_postcode*を使用できます。

$_GET['estimate_postcode']

$_POST['estimate_postcode']

それをvalue属性としてエコーします。ただし、これはページ間で持続することはありません。

ユーザーの視覚的な利益のためにこれを厳密に行う場合は、PHPを破棄し、Cookieを介してすべてクライアント側で行います。

于 2012-05-24T22:17:52.703 に答える
0
<script>
function clearField()
{
  $(#postal_code).val('');
}
</script>


 <form>
 <input id = "postal_code" type = "text" name = "postal_code" value = "Input postal code here" onclick="clearField()"/>
 </form>

このようなものが機能するはずです。clearFieldは、ユーザーがフィールドをクリックするとフィールドを空にするだけで、入力されたデータがフォームによって送信されます。

于 2012-05-24T22:16:38.973 に答える