我嘗試開發一個更新/編輯表單有一組單選按鈕的,也兩個不同的下拉列表中兩個選擇輸入之一。獲取數據從任一具有相同名稱的屬性
HTML
2單選按鈕 - 從SQL數據庫(一&二)填充的:
<?php if ($rows_item['choice'] == "One") {?><input name="owner_c" id="owner_c1" type="radio" value="One" checked="checked" onclick="show1()"/>One<?php } ?>
<?php if ($rows_item['choice'] == "Two") {?><input name="owner_c" id="owner_c2" type="radio" value="Two" checked="checked" onclick="show2()"/>Two<?php } ?>
2下拉列表 - 由while循環(第&部)從SQL數據庫填充的:
<div id="div1" class="<?php if ($rows_item['choice'] != "One") { echo "hide";} ?>">
<p align="center">
<?php
if ($rows_item['choice'] == "One") {
$sql_section = "SELECT * FROM borrower_section";
$query_section = mysql_query($sql_section) or die('Error:'.mysql_error());
?>
<select name="dept" id="dept1" style="width:400px;" required >
<option value="-1" selected="selected" disabled="disabled">Sections *</option>
<?php while ($row_section = mysql_fetch_array($query_section)) { ?>
<option <?php if($rows_item['dept']==$row_section['sections']) { echo "selected";} ?> value="<?php echo $row_section['sections']; ?>"><?php echo $row_section['sections']; ?></option>
<?php } ?>
</select>
</p>
</div>
<div id="div2" class="<?php if ($rows_item['choice'] != "Two") { echo "hide";} ?>">
<p align="center">
<?php
}
if ($rows_item['choice'] == "Two") {
$sql_dept = "SELECT * FROM borrower_dept";
$query_dept = mysql_query($sql_dept) or die('Error:'.mysql_error());
?>
<select name="dept" id="dept2" style="width:400px;" >
<option value="-1" selected="selected" disabled="disabled">Departments *</option>
<?php while ($row_dept = mysql_fetch_array($query_dept)) { ?>
<option <?php if($rows_item['dept']==$row_dept['dept_name']) { echo "selected";} ?> value="<?php echo $row_dept['dept_name']; ?>"><?php echo $row_dept['dept_name']; ?></option>
<?php }}?>
</select>
</p>
</div>
的Javascript
function show1(){
document.getElementById('div1').style.display ='block';
document.getElementById('div2').style.display ='none';
$('#dept2').removeAttr('required');
$('#dept1').attr('required','required');
}
function show2(){
document.getElementById('div1').style.display = 'none';
document.getElementById('div2').style.display = 'block';
$('#dept1').removeAttr('required');
$('#dept2').attr('required','required');
}
流量是;如果用戶選擇單選按鈕一個,將出現「div1」 - 隱藏「div2」,用戶將通過輸入名稱=部門選擇任何項目並保存在數據庫中。
如果用戶選擇單選按鈕兩,「DIV2」將出現 - 「DIV1」隱藏和用戶將在其選擇任何項目,也通過數據庫輸入名稱=部門保存。
我的問題是,如果用戶選擇單選按鈕一,他們必須提交此表格兩次爲了保存SQL數據庫中「部門」的記錄。 下拉列表使用相同的名稱,因爲我想要從任一個中獲取數據,並根據他們選擇的單選按鈕保存在同一列= SQL部門中。
如何防止並允許用戶提交一次? TQ ..
感謝您的回覆,我不知道我們可以將輸入存儲在數組「dept [1]」中。我認爲這個表格需要提交兩次的原因是; PHP無法讀取哪個輸入來獲取。 – Alieym
我試圖把這個代碼;但只適用於第一個下拉菜單,我仍然需要提交兩次下拉菜單/ – Alieym
@Alieym都可見輸入?如果您將輸入設置爲顯示:無;它不會被提交。所以你既可以看到它們,也可以使用我給你的PHP來獲得正確的值,或者使用隱藏的javascript並使用可見的。在這種情況下,我建議你添加一個type =「hidden」的輔助輸入,它將索引保存爲它的值。我不確定我的描述是否足夠清晰,所以請隨時詢問你是否不明白我的意思。 – Kalko