我已经用一些动态操作替换了默认的'value'。输入框中有一个默认值,用户点击和默认值被删除。用户离开并输入任何内容,重新显示默认值。到目前为止一切都很好。
问题在于,只要用户提交表单并将名称字段留空,我就会得到默认值,而不是空字段或空字段。
<input style="width:95%;" type="text" name="email"
onfocus="if(this.value==this.defaultValue)this.value=''"
onblur="if(this.value=='')this.value=this.defaultValue"
value="<?php echo $entry_email; ?>" maxlength="27" size="50" />
我一直在读S.O.有一段时间,并说其他选项,如onclick而不是onfocus。此外,onsubmit然后每个人都建议更改代码来处理该功能,这就是它在一个混乱的大球中融合在一起的地方。我知道这个问题一直被问到,但它们都涉及js代码更新。
我是否疯狂地认为上面的代码可以稍微修改一下,所以检查默认值是填写还是空白,但不提交默认值?
感谢您的时间。
答案 0 :(得分:0)
当用户点击提交按钮时,您的文本输入首先触发onblur事件,然后表单提交。所以你要提交默认值。检查表单提交事件上的值的默认值。
答案 1 :(得分:0)
尝试分离html和js代码。使用jquery,它很容易学习
<input style="width:95%;" type="text" id="email" name="email" value="<?php echo $entry_email; ?>" maxlength="27" size="50" />
<script language="javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script language="javascript">
$('#email').blur(function() {
$('#email').val(defaultValue);
});
</script>
检查用户的电子邮件值是否等于默认值,然后停止表单提交。
答案 2 :(得分:0)
您只需在placeholder
标记内使用input
。
<input type="text" name="email" value="" placeholder="Enter Email">