使用jQuery动态创建隐藏的输入表单字段的最简单方法是什么?
$('#myformelement').append('<input type="hidden" name="myfieldname" value="myvalue" />');
$('<input>').attr('type','hidden').appendTo('form');
回答你的第二个问题:
$('<input>').attr({ type: 'hidden', id: 'foo', name: 'bar' }).appendTo('form');
如果你想添加更多的属性,就像这样做:
$('<input>').attr('type','hidden').attr('name','foo[]').attr('value','bar').appendTo('form');
或
$('<input>').attr({ type: 'hidden', id: 'foo', name: 'foo[]', value: 'bar' }).appendTo('form');
Working 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');
和David的一样,但是没有attr()
$('<input>', { type: 'hidden', id: 'foo', name: 'foo', value: 'bar' }).appendTo('form');