2012-07-14 64 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