如何使用jQuery设置输入框的默认值?

时间:2011-08-23 08:00:21

标签: jquery

我想更改输入框的默认值,以便在重置表单时,值仍然存在。

我有以下使用jQuery设置值的代码,但是当按下reset时,该值将成为初始值。

<form>
Email: <input type="text" id="email" value="old value" />
<input type="reset" value="reset" />
</form>

$(function(){
    $("#email").val("New value");
});

5 个答案:

答案 0 :(得分:25)

您必须设置#email元素的属性“value”,而不是值本身。

$("#email").attr("value", "New value");

答案 1 :(得分:2)

重置会清除表单的所有值(默认行为)。如果希望再次显示这些值,则需要再次设置它们。因此,您需要调用方法单击重置按钮并再次填写表单。

答案 2 :(得分:1)

默认情况下重置会清除表单,但如果您想自己控制此行为,请执行以下操作。你需要使用.val()下面是一些使用包装盒进行单个盒子重置和多个盒子的例子。

示例: http://jsfiddle.net/HenryGarle/ZTprm/

<b>Reset Single</b>

<input type="text" id="TextBox">
<button id="reset">Reset</button>

<hr>
<b>Reset Many</b>

<div id="Many">
<input type="text" value="1">
<input type="text" value="5">
<input type="text" value="2">
    <button id="ResetMany">Reset</button>
</div>


<script>
// Reset single
$("#reset").click(function (e) {
   $("#TextBox").val("Value"); 
});


// Resets many given a selector 
// Could be a form, containing div
$("#ResetMany").click(function (e) {
    var inputs = $("input", "#Many");

    for (var i = 0; i < inputs.length; i++) {
        $(inputs[i]).val("Value");
    }

});
</script>

答案 3 :(得分:0)

尝试

$('input[type="reset"]').click(function(){
 $("#email").val("New value");
});

答案 4 :(得分:0)

如果要输入值,则可以按照@Sergey Larionov的说明进行操作。如果要放置默认占位符,可以执行以下操作:

failbit