Javascript 如何将HTML数组从一个表单传递到另一个表单

Javascript 如何将HTML数组从一个表单传递到另一个表单,javascript,arrays,forms,Javascript,Arrays,Forms,我试图将一个HTML元素(数组)传递给另一个表单。我想说,没那么难,但我尝试了几乎所有可能的组合,但都不起作用 我有一个表单,其中有这个SELECT元素: <select name="preselectedCountries[]" size="9" multiple="multiple"> <option value="Albania">Albania</option> <option value="Algeria">Algeria<

我试图将一个HTML元素(数组)传递给另一个表单。我想说,没那么难,但我尝试了几乎所有可能的组合,但都不起作用

我有一个表单,其中有这个SELECT元素:

<select name="preselectedCountries[]" size="9" multiple="multiple">
  <option value="Albania">Albania</option>
  <option value="Algeria">Algeria</option>

阿尔巴尼亚
阿尔及利亚
我还有另一种形式:

<form method="post" name="formGeneric" action="">
  <input type='hidden' name='preselectedCountries[]' value='' />

现在,我想把第一种形式的选择交给第二种形式。尝试了多种形式,如:

<a href="#" onclick="document.formGeneric.preselectedCountries =
document.formIndex.preselectedCountries;"

Id首先从元素名中删除[],因为这只会让事情变得混乱

然后,您需要的javascript行是

var selectObject = document.getElementsByName('preselectedCountries')[0];
var selectedArray = [];

for (var i=0; i < selectObject.options.length; i++)
{
 if(selectObject.options[i].selected)
 {
  selectedArray.push(selectObject.options[i].value);
 }
}
var-selectObject=document.getElementsByName('preselectedCountries')[0];
var selectedArray=[];
对于(变量i=0;i

假设您的隐藏表单始终位于DOM树中的可见表单之后,这将为您提供一个数组,其中包含选择列表中的选定值。然后如何使用此阵列取决于您。您可以
ToString()
将其作为隐藏输入字段的值附加,或者尝试直接附加数组。

谢谢Simon。但在我看来,这样只传递数组中的第一个元素,而不是所有选定的元素。什么数组?您说过希望从下拉列表中选择的值填充隐藏表单中的元素。嗯,不,因为互动程序指示“如何将HTML数组从一个表单传递到另一个表单”,这是关于数组(多选),而不是单个值。
var selectObject = document.getElementsByName('preselectedCountries')[0];
var selectedArray = [];

for (var i=0; i < selectObject.options.length; i++)
{
 if(selectObject.options[i].selected)
 {
  selectedArray.push(selectObject.options[i].value);
 }
}