我有jQuery动态创建的输入,我为它设置了init值,我希望它将该值保持为默认值(重置表单后将再次显示)。我四处搜索,但找不到解决方案。
为了说清楚,在有人评价我的问题之后,这里的默认值不是存储在占位符中的值(当输入聚焦时会消失),它是真实的,可编辑的文本!
我找到了解决方案!重置表单时,Web浏览器会将文本带入" value"输入属性并将其再次显示为默认文本。所以,如果我们创建一个新的输入元素,我们必须给它"值"属性。在jQuery中,我们应该使用方法attr(' value',newValue)
,而不是使用仅临时更改元素的可查看值而不是覆盖输入的value属性的方法val()。答案 0 :(得分:1)
您可以尝试在元素创建时设置该值。 JSFiddle:http://jsfiddle.net/turiyag/UG7uw/6/
$("form").append('<input type="text" value="456" />');
$(":button").click(function(){
$("form").reset();
});
修改强>
看到你的代码,我认为你需要仔细研究如何将事件附加到元素。此示例说明如何运行在“单击”事件上运行的Javascript代码。注意页面的Javascript如何在JSFiddle的Javascript框中。 http://jsfiddle.net/turiyag/uUCGV/8/
此外,对于“空元素”,应使用“/&gt;”关闭它们在标签的末尾。例如:
<input type="text" value="foo" />
我会避免在分配了“id”的元素上使用clone。 clone()还将复制id属性和初始值属性。创建新元素要清晰得多。
此外,'$'符号通常可用于代码中的'jQuery'。它减少了输入的次数。
示例中的代码将初始值设置为“Input#1”,“Input#2”等。重置按钮会将表单重置为这些值。
event.preventDefault()阻止从被点击的元素提交表单的默认操作。
这回答了什么吗?