0

我的 html 表单中有用于输入电子邮件 ID 的文本框。我Enter Your Email ID here在用户点击文本框之前显示默认文本,我的代码是

<input class="textbox" type="text" id="emailbox" name="emailbox" value="Enter Your Email ID here" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" />

现在,一旦我提交表单而不是默认文本Enter Your Email ID here,我需要在文本框中显示用户输入的电子邮件 ID。

使用以下代码提交表单后,我可以在普通文本框中显示用户输入的数据

<input  class="textbox" id="mem_count" name="mem_count" type="text"  value="<?php if(isset($_POST['mem_count'])) { echo htmlentities ($_POST['mem_count']); }?>" />

如何在具有默认文本的电子邮件文本框中保留相同的数据?

4

4 回答 4

2

只需在条件上添加一个 else 语句就可以了,如果没有数据则回显默认文本

<input  class="textbox" id="mem_count" name="mem_count" type="text"  value="<?php if(isset($_POST['mem_count'])) { echo htmlentities ($_POST['mem_count']); } else { echo "Enter Your Email ID here";}?>"  placeholder="Enter Your Email ID here" onfocus="if(this.value=='Enter Your Email ID here')this.value='';" onblur="if(this.value=='')this.value='Enter Your Email ID here';" />
于 2013-09-17T18:52:55.860 回答
0

输入值的初始化:

<?php
    $value=(isset($_POST['mem_count'])) ? htmlentities ($_POST['mem_count']) :"Enter Your Email ID here";    
?>

HTML

<input  class="textbox" id="mem_count" name="mem_count" type="text"  value="<?php echo $value ?>" />
于 2013-09-17T18:59:24.557 回答
0

我喜欢 ravenlp 的解决方案,并且在登录失败的情况下使用发布的值可能更有用,也许。

<input value="<?php echo ((@$_POST['emailbox']) ?: 'Enter Your Email ID here') ?>" class="textbox" type="text" id="emailbox" name="emailbox" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" />
于 2013-09-17T19:01:12.300 回答
0

您应该真正使用 HTML 属性placeholder,因为它会在字段为空时自动显示占位符。

<input class="textbox" type="text" id="emailbox" name="emailbox" value="<? $_POST['mem_count'] ?>" placeholder="Enter Your Email ID here" />

这也消除了启用 JavaScript 以使用表单字段而无需手动清除它的需要。我在 IE7+ 中亲自测试过它,并且我读到它在 Chrome/Safari 4.0+ 和 Firefox 3.7+ 中受支持。

于 2013-09-17T19:08:22.357 回答