输入字段 - 在onClick事件时删除值,如果未设置则恢复值

时间:2017-02-14 12:26:34

标签: javascript jquery events

在输入字段中,我设置了一个默认值。单击字段内部时必须删除默认值,但如果值insert为空并且鼠标光标离开该字段,则必须恢复默认值。默认值必须是在数据库中写入。

例如:

默认值:0

当我离开输入字段并且值为空时,将恢复默认值。

<input type="text" onclick="if(this.value == 'value') { this.value = ''; }" value="value" />

如果在点击后将任何值设置为输入,如何恢复默认值?

由于

2 个答案:

答案 0 :(得分:1)

只需将listener附加到focusblur事件的输入中,如下图所示;

var inputToCheck = document.getElementById("inputNum");
inputToCheck.initialValue = inputToCheck.value || '';

inputToCheck.addEventListener("focus",function(e) {
     this.value == this.initialValue ? this.value = "" : "";
});

inputToCheck.addEventListener("blur",function(e) {
     this.value == "" ? this.value = this.initialValue : "";
})
<input type="text" id="inputNum" value="0" />

jQuery的另一个:

var inputToCheck = $("#inputNum");
inputToCheck.data("initialValue", inputToCheck.val());

inputToCheck.on("focus",function(e) {
     this.value == $(this).data("initialValue") ? this.value = "" : "";
}).on("blur",function(e) {
     this.value == "" ? this.value = $(this).data("initialValue") : "";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="inputNum" value="0" />

答案 1 :(得分:0)

使用占位符属性是否符合您的要求 ?

如果该字段留空,这将显示默认值。但是,当提交表单时,如果字段值为空,则不会将其发送到服务器。如果要在用户提交表单时保存默认值空白输入,为表单设置一个obsubmit处理程序,将值设置为default,或者在服务器端实现它,以便在db为空时保存db中的默认值。