我正在尝试将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;"
或者
<a href="#" onclick="document.formGeneric.preselectedCountries[] =
document.formIndex.preselectedCountries[];"
和其他人......但是徒劳无功。
我搜索了很多,但没有找到解决方案。任何人都可以给我一个提示吗?!我非常感谢。谢谢!
答案 0 :(得分:0)
我首先从你的元素名称中删除[],因为这只会让事情变得混乱。
然后你需要的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);
}
}
假设您的隐藏表单始终位于DOM树中的可见表单之后,这应该会为您提供一个包含选择列表中所选值的数组。你用这个阵列做什么取决于你。您可以ToString()
将其作为隐藏输入字段的值附加,或者尝试直接附加数组。