什么是使用jQuery来动态创建隐藏的输入表单字段的最简单方法?Jquery - 动态创建隐藏的表单元素
回答
$('<input>').attr('type','hidden').appendTo('form');
要回答你的第二个问题:
$('<input>').attr({
type: 'hidden',
id: 'foo',
name: 'bar'
}).appendTo('form');
$('#myformelement').append('<input type="hidden" name="myfieldname" value="myvalue" />');
是否有人测试旧IE这个答案? – 2012-08-31 11:54:20
个人而言,我认为这是一个比公认的答案更好的方法,因为它涉及更少的DOM操作/函数调用。 – PaulSkinner 2013-08-05 09:38:46
@PaulSkinner对于给定的情况,是的,你是正确的,但并不总是如此。看看这里http://stackoverflow.com/a/2690367/1067465 – 2014-08-06 18:08:57
,如果你想添加更多的属性,只是不喜欢:
$('<input>').attr('type','hidden').attr('name','foo[]').attr('value','bar').appendTo('form');
或者
$('<input>').attr({
type: 'hidden',
id: 'foo',
name: 'foo[]',
value: 'bar'
}).appendTo('form');
这是给控制台错误'意外的标识符'。 – 2017-07-19 08:00:39
工作JSFIDDLE
如果您的形式是像
<form action="" method="get" id="hidden-element-test">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
<br><br>
<button id="add-input">Add hidden input</button>
<button id="add-textarea">Add hidden textarea</button>
您可以添加隐藏的输入和文本区域,形成这样
$(document).ready(function(){
$("#add-input").on('click', function(){
$('#hidden-element-test').prepend('<input type="hidden" name="ipaddress" value="192.168.1.201" />');
alert('Hideen Input Added.');
});
$("#add-textarea").on('click', function(){
$('#hidden-element-test').prepend('<textarea name="instructions" style="display:none;">this is a test textarea</textarea>');
alert('Hideen Textarea Added.');
});
});
检查工作jsfiddle这里
function addHidden(theForm, key, value) {
// Create a hidden input element, and append it to the form:
var input = document.createElement('input');
input.type = 'hidden';
input.name = key;'name-as-seen-at-the-server';
input.value = value;
theForm.appendChild(input);
}
// Form reference:
var theForm = document.forms['detParameterForm'];
// Add data:
addHidden(theForm, 'key-one', 'value');
什么是“在服务器上看到的名字”? – SaAtomic 2017-03-13 06:31:32
同为大卫的,但没有ATTR()
$('<input>', {
type: 'hidden',
id: 'foo',
name: 'foo',
value: 'bar'
}).appendTo('form');
这种填充标签的方式有没有名字? – DLF85 2016-03-08 05:24:03
- 1. 隐藏元素或创建动态?
- 2. 动态创建jquery元素
- 3. angularjs创建动态表单元素
- 4. 用php动态创建表单元素
- 5. 动态创建表单元素
- 6. 隐藏动态创建的网格子元素
- 7. 用Javascript隐藏动态创建的元素(php和html)
- 8. 单击按钮时使用jquery创建一个隐藏元素
- 9. jQuery serializeArray不拾取动态创建的表单元素
- 10. 动态创建HTML元素失去属性在显示/隐藏
- 11. 访问创建动态jQuery的元素?
- 12. 表单验证JavaScript的隐藏元素
- 13. 动态隐藏表单域
- 14. jQuery中的隐藏元素表
- 15. 使用jQuery动态创建元素
- 16. 在jquery中动态创建html元素
- 17. jQuery的动态表单元素
- 18. 滚动到隐藏元素
- 19. 不验证隐藏的表单元素
- 20. 如何隐藏/显示在ASP.NET中动态创建的HTML元素
- 21. jQuery:不能自动隐藏元素
- 22. 隐藏动态创建的Javascript数组
- 23. jQuery的听单击动态创建的元素
- 24. jQuery slideToggle创建隐藏或可见的元素?
- 25. jQuery - 如何显示/隐藏动态生成的html元素
- 26. jQuery在元素外面隐藏元素
- 27. jquery显示/隐藏元素
- 28. jQuery:点击隐藏元素
- 29. jQuery隐藏所有元素
- 30. Jquery Div元素隐藏
是否有可能在飞行中添加ID和名称属性??????? – 2010-03-09 10:07:26
谢谢大卫 – 2010-03-09 11:32:00
请注意,如果您在创建输入类型后尝试更改输入类型,IE将会窒息。使用'$('')。foo(...)'作为解决方法。 – 2011-10-06 04:18:28