我想更改输入框的默认值,以便在重置表单时,值仍然存在。
我有以下使用jQuery设置值的代码,但是当按下reset时,该值将成为初始值。
<form>
Email: <input type="text" id="email" value="old value" />
<input type="reset" value="reset" />
</form>
$(function(){
$("#email").val("New value");
});
答案 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