2011-10-24 56 views
0

我implimenting用戶註冊形成一個college..There我需要計算的費用,並將其展示給用戶,並同時需要插入到數據庫..插入列表框選擇的選項,以數據庫不重視

我使用了一個列表框這樣

<select name="subject" id="select2"> ***(value=fees for the subject) 
<option value="100">Arts</option> 
<option value="150">English</option> 

計算確定的價值觀至極給予(我使用的JavaScript計算爲) 現在我要插入對象數據庫例如: ex:

INSERT INTO user(name, email, subject) 
VALUES ('$_POST[name]','$_POST[email]','$_POST[subject]')"); 

我想添加選擇添加到數據庫主題字段作爲英語不是費用的主題。

我希望你能明白我telling.Please幫助

謝謝

+0

如何填充你的'select'? –

回答

0

理想情況下,你應該使用標籤像值:

<select name="subject"> 
<option value="Arts">Arts</option> 
<option value="English">English</option> 

如果由於某種原因,你想張貼標籤和費用你可以使用隱藏變量和JavaScript這樣的:

<select name="subject_fee" id="subject_fee" onchange="populate_subject_name();"> 
<option value="100">Arts</option> 
<option value="150">English</option> 
</select> 
<input type="hidden" name="subject_name" id="subject_name" value=""> 
<script type="text/javascript"> 
    function populate_subject_name() { 
     var f = document.getElementById("subject_fee"); 
     var n = document.getElementById("subject_name"); 
     n.value = f.options[f.selectedIndex].text; 
    } 
</script> 

順便說我還是建議第一種方法。還有其他方法來計算費用 - 只是即興而已。有一種可能性參見thisthis

+0

非常感謝薩爾曼 – nisal

0

這將需要服務器端知道SELECT元素的文本,因爲只有選定的值回發。

有可能在ASP.NET中,作爲SELECT元素是知道的服務器端。不過,我不確定這是否在PHP的情況下。

+0

嗯感謝您的快速回復。 有誰知道? – nisal

0

在PHP中,當你填入你的列表中,保持在一個地圖中的值=>標籤映射,得到類似的權值:

$arr = array(100 => "Arts", 150 => "English"); 
echo $arr[$_POST[subject]]; //if $_POST[subject]==100, return "Arts" 

否則,在JavaScript中,你可以用

得到它
var index=document.getElementById("select2").selectedIndex; 
document.getElementById("select2").options[index].text; 

然後你可以將其存儲在一個隱藏的輸入文字...

警告: 不要插入直銷tly sql請求中的值! 要carful與injection SQL

希望這有助於你...

+0

Thanx讓你的答覆我覺得這是我幫助我。你能告訴我一個例子如何映射一個值,因爲我沒有很好的映射知識?並感謝您的建議 – nisal

+0

@nisal我給你添加一個數組在php中的例子。 –

0

您必須添加手柄形式的onsubmit事件和隱藏字段保存列表項的選擇text

<script type="text/javascript"> 
function submitIt() 
{ 
    var list=document.getElementById("select2"); 
    var item=list.item(list.selectedIndex); 
    document.getElementById("subjectTest").value=item.text; 
    return true; 
} 
</script> 

<form method="post" action="your_page.php" onsubmit="return submitIt()"> 
    <input type="hidden" id="subjectTest" name="subjectText" /> 
    <select name="subject" id="select2"> ***(value=fees for the subject) 
    <option value="100">Arts</option> 
    <option value="150">English</option> 
    <input type="submit" name="cmd" value="Submit"/> 
</form> 
相關問題