📅  最后修改于: 2023-12-03 15:10:32.403000             🧑  作者: Mango
在使用表单时,有时需要提供一些占位符文本来指导用户填写相关内容,但是这些占位符文本在用户输入后就会消失。在这种情况下,我们需要在文本框中插入一些提示性文本。
在jQuery中使用$.val()
函数可以获取或设置一个表单元素的值,当不带参数调用时,该函数将返回当前元素的值。
为了在表单元素中设置占位符文本,我们可以在文本框中设置一个value
属性。这种方法有一个缺点:当用户在文本框内输入内容时,该提示文本不会消失。
为了解决这个问题,可以使用jQuery中的focus()
和blur()
函数。 focus()
函数用于在文本框获得焦点时触发,blur()
函数在文本框失去焦点时触发。
以下是一个示例:
<input type="text" name="myInput" id="myInput" value="请在此输入信息" onfocus="if(value=='请在此输入信息'){value=''}" onblur="if(value==''){value='请在此输入信息'}" />
<script>
$(document).ready(function(){
$("#myInput").on("focus", function() {
if ($(this).val() === "请在此输入信息") {
$(this).val("");
}
});
$("#myInput").on("blur", function() {
if ($(this).val() === "") {
$(this).val("请在此输入信息");
}
});
});
</script>
在上面的代码中,<input>
元素定义了value
属性。在输入框获取焦点时触发focus()
,它检查输入框中的值是否等于占位符文本,如果是,则清空输入框中的文本值。在输入框失去焦点时,触发blur()
,并检查输入框是否为空。如果是,则在输入框中插入占位符文本。
这个方法可以用于所有文本输入框,如密码框、搜索框等。