Javascript 您可以提交一个包含文本输入数组的表单吗?

Javascript 您可以提交一个包含文本输入数组的表单吗?,javascript,jquery,Javascript,Jquery,我正在动态构建一个页面。此页面需要从输入标记读取信息,但它是动态的。既然我正在查看,是否应该将东西设置为数组 我想保留数据集 <script> function adjustPilots(){ var pilots = $("#numPilots").val(); var info = '<td><table>'+ '<tr><td>Minumum Collateral</td><td colspan="

我正在动态构建一个页面。此页面需要从输入标记读取信息,但它是动态的。既然我正在查看,是否应该将东西设置为数组

我想保留数据集

<script>
   function adjustPilots(){
var pilots = $("#numPilots").val();
var info = '<td><table>'+
    '<tr><td>Minumum Collateral</td><td colspan="2"><input type = "text" size = "10" maxLength = "6" /> to <input type = "text" size = "10" maxLength = "6" /></td></tr>'+
    '<tr><td>Reward</td><td colspan="2"><input type = "text" size = "10" maxLength = "6" /> to <input type = "text" size = "10" maxLength = "6" /></td></tr>'+
    '<tr><td>Volume</td><td colspan="2"><input type = "text" size = "10" maxLength = "7" /> to <input type = "text" size = "10" maxLength = "7" /></td></tr>'+
    '<tr><td>Start: </td><td><input type = "text" name = "s" id = "s" class = "s" value autocomplete = "off"></td></tr>'+
    '<tr><td>End: </td><td><input type = "text" name = "e" id = "e" class = "e" value autocomplete = "off"></td></tr>'+
    '</table></td>';


for(var i = 0; i < Number(pilots); i++){
    $("#pilotrow").append(info);
}
}
</script>
<body>
<form>
<table>
<tr><td>Number of Pilots</td><td colspan="2"><input id = "numPilots" type = "text" size="3" maxLength="3" onchange = 'adjustPilots()' /></td></tr>
<tr id = "pilotrow"></tr>

<tr><td><input type = "submit" name = "submit"></td></tr>
</table>
</form>
</body>

功能调整器(){
var pilots=$(“#numPilots”).val();
变量信息=“”+
“最小抵押品”+
“奖励给”+
“音量到”+
'开始:'+
"完"+
'';
对于(变量i=0;i

我想的一个选择是不使用表单,而是使用javascript构建表单。然后创建一个JSON对象并使用AJAX将其发送到服务器。这是一种可靠的方法,还是有更好的方法?

至少有两种方法

在没有javascript的情况下,可以使用如下元素数组来处理表单

<input type="text" name="input[]"/>
<input type="text" name="input[]"/>
<input type="text" name="input[]"/>
<input type="text" name="input[]"/>

使用ajax和jquery,您只需将表单序列化并发布到后端,至少有两种方法

在没有javascript的情况下,可以使用如下元素数组来处理表单

<input type="text" name="input[]"/>
<input type="text" name="input[]"/>
<input type="text" name="input[]"/>
<input type="text" name="input[]"/>

使用ajax和jquery,您只需将表单序列化并发布到后端即可

尝试使用隐藏的输入标记以任何方式发送数据。例如:

<input type="hidden" name="myinput" id="myinput" />

希望这有帮助

尝试使用隐藏的输入标记以您喜欢的任何方式发送数据。例如:

<input type="hidden" name="myinput" id="myinput" />

希望这有帮助

您可以通过在输入中使用
name
属性来实现这一点。像这样:

<input type="text" name="pilots[]" />
<input type="text" name="pilots[0][minumumCollatural]" />
<input type="text" name="pilots[0][reward]" />
<input type="text" name="pilots[0][volume]" />

您可以通过在输入中使用
name
属性来实现这一点。像这样:

<input type="text" name="pilots[]" />
<input type="text" name="pilots[0][minumumCollatural]" />
<input type="text" name="pilots[0][reward]" />
<input type="text" name="pilots[0][volume]" />

您的许多输入没有
name
属性,您将如何序列化此数据?我不确定您在问什么,但如果我没有误解,您可以将
display:none
设置到该表中,然后将其包含在html代码中,然后将其删除并分配到变量中,并使用
clone()
jQuery方法来附加它的克隆版本。您的许多输入没有
name
属性,您将如何序列化此数据?我不知道您在问什么,但如果我没有误解,您可以将
display:none
设置到该表中,然后将其包含在html代码中,然后将其删除并分配到一个变量中,并使用
clone()
jQuery方法附加它的克隆版本。假设这是正确的,这确实是我要找的答案。假设这是正确的,这确实是我要找的答案。