2012-07-14 62 views
0

我有一种情景,访问者可以从下拉框中选择一个值,然后选择两个提交按钮中的一个选择[这触发了两种不同的形式动作,并且都在单独的元素中]。两种形式,一种选择/下拉框 - 需要将选择值从一种形式复制到其他

下拉框与两个提交按钮都相关,但是只在其中一个元素下。

我试过写一个javascript函数,将下拉值从一个表单元素拉到另一个表单元素,但它似乎不工作。请看下面我的代码,有什么想法?

<script type="text/javascript"> 
function grabselection(){ 
var select_genre = document.getElementById("genre"); 
var genre = select_genre.value; 
var genre_cloaked = document.getElementById("genre2"); 
genre_cloaked.value = genre; 
} 
</script> 


<form class="youtubeupload" action="uploadfinalised.php" method="post"  enctype="multipart/form-data"> 
<input name="token" type="hidden" value="Alhl"/> 
<select id="genre2" class="genre" name="genre"><option value="">What style is your video?</option></select> 
<input value="" onclick="grabselection();" type="submit" id="uploadbutton" /></div> 
    </form>  

<form id="provideurl" class="provideurl" method="post" action="provideurl.php"> 
<select id="genre" class="genre" name="genre"> 
    <option value="">What style is your video?</option>    
    <option id="genreid_1" value="1">first genre</option> 
    <option id="genreid_2" value="2">second genre</option> 
    <option id="genreid_3" value="3">third genre</option> 
    <option id="genreid_4" value="4">fourth genre</option> 
</select> 

我肯定有一个简单的解决方案,以本 - 链接一种形式元素,两种不同的形式,但我不知道如何做到这一点 - 任何帮助非常感谢

回答

0

您正在设置genre2选择框的值,但是它不包含任何具有该值的选项。要完成您要实现的目标,必须在两个选择字段中定义选项。

为什么你不使用隐藏的输入并更新该值?

<input type="hidden" name="genre2" /> 

可以说是做的最好的事情将是确定表单的动作根据用户输入使您只有1种形式......还有这里有一个简短的讨论:http://www.javascript-coder.com/html-form/html-form-action.phtml

+0

谢谢!使用输入是正确的调用。 – tensai288 2012-07-15 08:52:47

+0

我刚刚发现了另一个问题 - 我似乎无法使用$ _POST ['genre']在操作页面上拉取值; - 值似乎为空? – tensai288 2012-07-15 09:06:39

0

您正在使用下面的代码来采取所选择的指标的值 -

var genre = select_genre.value; 

相反,改变行代码 -

var genre = select_genre.options[select_genre.selectedIndex].value; 

这会将当前选择的值插入到流派变量中。其余的代码应该可以正常工作。让我知道这是否适合你。

+0

我不认为这很重要,因为'grabselection()'只在表单提交后才被调用**,此时select本身就有一个值。 – dianovich 2012-07-14 22:58:02