Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态jquery表单(添加多个输入)_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 动态jquery表单(添加多个输入)

Javascript 动态jquery表单(添加多个输入),javascript,jquery,forms,Javascript,Jquery,Forms,我对JS和JQuery的了解很少 我正在尝试使用jquery动态创建表单(参考) 但是,在添加多个输入时,我面临一个问题:下面的代码有效: var form = $('<form>').attr('action', '/login').attr('method', 'post') .append($('<input>').attr('type', 'hidden').attr('name', 'username').attr('value', 'te

我对JS和JQuery的了解很少 我正在尝试使用jquery动态创建表单(参考) 但是,在添加多个输入时,我面临一个问题:下面的代码有效:

   var form = $('<form>').attr('action', '/login').attr('method', 'post')
        .append($('<input>').attr('type', 'hidden').attr('name', 'username').attr('value', 'test')
        );
    $('body').append(form);
    form.submit();
var form=$('').attr('action','/login').attr('method','post'))
.append($('').attr('type','hidden').attr('name','username').attr('value','test'))
);
$('body')。追加(表格);
表单提交();
但是,当我再添加1个输入时,它不会:

var form = $('<form>').attr('action', '/login').attr('method', 'post')
.append($('<input>').attr('type', 'hidden').attr('name', 'username').attr('value', 'test')
.append($('<input>').attr('type', 'hidden').attr('name', 'password').attr('value', 'password')
);
$('body').append(form);
form.submit();
var form=$('').attr('action','/login').attr('method','post'))
.append($('').attr('type','hidden').attr('name','username').attr('value','test'))
.append($('').attr('type','hidden').attr('name','password').attr('value','password'))
);
$('body')。追加(表格);
表单提交();
我做错了什么?如何向表单添加多个输入


谢谢!

您的代码错误。您没有关闭附加的

var form = $('<form>').attr('action', '/login').attr('method', 'post')
    .append($('<input>').attr('type', 'text').attr('name', 'username').attr('value', 'test'))
    .append($('<input>').attr('type', 'text').attr('name', 'username').attr('value', 'test'));
    $('body').append(form);
var form=$('').attr('action','/login').attr('method','post'))
.append($('').attr('type','text').attr('name','username').attr('value','test'))
.append($('').attr('type','text').attr('name','username').attr('value','test'));
$('body')。追加(表格);

发生这种情况是因为您现在正在将输入附加到输入。在每次追加后关闭括号,或者创建表单,然后向其追加输入

var form = $('<form>').attr('action', '/login').attr('method', 'post');
form.append($('<input>').attr('type', 'hidden').attr('name', 'username').attr('value', 'test'));
form.append($('<input>').attr('type', 'hidden').attr('name', 'password').attr('value', 'password'));
$('body').append(form);
form.submit();
var form=$('').attr('action','/login').attr('method','post');
append($('').attr('type','hidden').attr('name','username').attr('value','test'));
form.append($('').attr('type','hidden').attr('name','password').attr('value','password'));
$('body')。追加(表格);
表单提交();

由于括号错误,您试图将第二个输入附加到第一个输入。它们是隐藏的,所以现在让我们将它们改为文本

var form = $('<form>').attr('action', '/login').attr('method', 'post')
    .append($('<input>').attr('type', 'text').attr('name', 'username').attr('value', 'test'))
    .append($('<input>').attr('type', 'text').attr('name', 'password').attr('value', 'password'));
    $('body').append(form);
var form=$('').attr('action','/login').attr('method','post'))
.append($('').attr('type','text').attr('name','username').attr('value','test'))
.append($('').attr('type','text').attr('name','password').attr('value','password'));
$('body')。追加(表格);
但是你做这件事的方式并不特别容易阅读

$('<form>', {
    'action': '/login',
    'method': 'post'
})
.append($('<input>', {
    'name': 'username',
    'type': 'hidden',
    'value': 'test'
}))
.append($('<input>', {
    'name': 'password',
    'type': 'hidden',
    'value': 'password'
}))
.appendTo('body');
$(“”{
“操作”:“/login”,
“方法”:“发布”
})
.附加($(''){
'名称':'用户名',
“类型”:“隐藏”,
“值”:“测试”
}))
.附加($(''){
“名称”:“密码”,
“类型”:“隐藏”,
“值”:“密码”
}))
.附于(“主体”);

什么是
在线
3
在这里做什么?请停止所有这些
attr
s!只需添加一个对象作为第二个参数,
$(“”,{type:'hidden',something:'else',other:'thing'})。如果需要更改多个属性,请再次使用对象
$('#someform').attr({type:'hidden',something:'else',other:'thing'})