我有一个用于估算运费的表单字段。目前,该字段具有标签“ZIP / Postal code”,默认情况下表单字段本身为空。我想做以下事情:
将标签放在表单字段“内部”,使其显示“输入您的邮政编码...”(可能是值=“
用户将光标放入表单字段后,将删除默认文本。
用户输入他的邮政编码并点击提交按钮后,他的邮政编码(=他输入的值)会在表单字段中回显,从而替换默认文本
以下是我正在使用的代码:
<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()) ?>" />
我怎样才能做到这一点?
答案 0 :(得分:3)
您可以使用HTML5占位符属性使文本在客户端消失。要使其跨浏览器,请使用jQuery Placeholder plugin(或类似的)。
根据您提交表单的方式,您将* estimate_postcode *作为GET或POST变量提供。
$_GET['estimate_postcode']
$_POST['estimate_postcode']
回显那个值属性。但这不会在页面中持久存在。
如果您严格按照用户的视觉效果进行此操作,请抛弃PHP并通过cookie在客户端完成所有操作。
答案 1 :(得分: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将清空该字段,然后表单将发送输入的数据。