2016-03-08 91 views
0

我在嘗試將值傳遞給同一頁上的兩種不同表單時出現問題。該頁面填充了16個單選按鈕(我爲了顯示的原因將它們變成了框),並且它們都保持一個值(例如001)。這兩種表單工作都以某種方式獲取活動/選定的單選按鈕值並將其發佈到PHP文件中,以便可以進行數據庫更改。我使用錨來傳遞JavaScript提交函數,而不是提交按鈕。我曾嘗試過 兩種形式都覆蓋整個頁面,但仍然沒有任何運氣。HTML表單 - 在同一頁上將值傳遞給兩種不同的表單

我會在下面發佈一些代碼來幫助你理解。

PS。如果你需要更多的代碼來理解,我可以將它發佈到pastebin。

<li> 
<form id="form_ready" method="post" action="../backend/screen.php"> 
    <input type="hidden" name="screenid" value="" /> 
    <input type="hidden" name="status" value="" /> 
    <input type="hidden" name="pickupid" value="document.activeElement.value;" /> 
    <a onclick="document.getElementById('form_ready').submit();">READY</a> 
</form> 
</li> 
<li> 
<form id="form_c" method="post" action="../backend/screen.php"> 
    <input type="hidden" name="status" value="" /> 
    <input type="hidden" name="pickupid" value="document.activeElement.value;" /> 
    <a onclick="document.getElementById('form_c').submit();">COLLECTED</a> 
</form> 
</li> 
</ul> 

<div id="content"> 
<div id="container"> 
<div id="table"> 
    <div id="tr1"> 
    <div id="td1"> 
     <input type="radio" name="pickup" id="1" value="001" /> 
     <label for="1"> <span>001</span> </label> 
    </div> 
    <div id="td2"> 
     <input type="radio" name="pickup" id="2" value="002" /> 
     <label for="2"> <span>002</span> </label> 
    </div> 
    <div id="td3"> 
     <input type="radio" name="pickup" id="3" value="003" /> 
     <label for="3"> <span>003</span> </label> 
    </div> 
    <div id="td4"> 
     <input type="radio" name="pickup" id="4" value="004" /> 
     <label for="4"> <span>004</span> </label> 
    </div> 
+0

那麼,這兩種形式之間的唯一區別隱藏「狀態」字段的值?你可以擁有一個包含所有控件的窗體,然後在提交之前使用JS來設置隱藏的「狀態」的值。或者,如果您使用實際的提交按鈕而不是錨點,則可以使用它們來設置「狀態」而不是隱藏字段,然後您就不需要任何Javascript。 – nnnnnn

+0

我需要兩種形式,因爲我們需要顯示物品已準備好收集,另一種是將其從拾取屏幕上移除。我想將錨點更改爲提交按鈕,但我仍然需要能夠從選定的單選按鈕中獲取值。如果您對如何做到這一點有任何想法,請告訴我。謝謝。 – clintgx

回答

0

要回答的意見建議,並只使用一種形式,這裏是如何抓住從選定的單選按鈕的值:

var inputs = document.getElementsByTagName('input'); 
var valueSelected; 
for (var i = 0; i < inputs.length; i++) { 
    if (inputs[i].checked) valueSelected = inputs[i].value; 
} 

valueSelected將包含選定的無線價值。

如果您只是由於某種原因需要將類型縮減爲「收音機」,則可以在for循環中檢查輸入類型爲inputs[i]['type'] === 'radio'


最好將可能仍然是設置一個類爲您的「廣播」的投入,它將使循環更具體,因此更高效的代碼,例如:

<input type="radio" class="myRadio"> 

並在JS:var inputs = document.getElementsByClassName('myRadio');

+0

感謝您的幫助。有用! – clintgx

相關問題