我正在为一所大学提供用户注册表格。我需要计算费用并将其显示给用户,同时需要插入数据库..
我使用了类似的列表框
<select name="subject" id="select2"> ***(value=fees for the subject)
<option value="100">Arts</option>
<option value="150">English</option>
计算是可以的,给出的值(我使用javascript计算) 现在我想将主题插入数据库 例如:
INSERT INTO user(name, email, subject)
VALUES ('$_POST[name]','$_POST[email]','$_POST[subject]')");
我想将选择添加到数据库主题字段的主题添加为英语而不是费用。
我希望你能理解我在说什么。请帮助
谢谢
答案 0 :(得分:0)
这将要求服务器端知道SELECT
元素的文本,因为只回发了所选的值。
在ASP.NET中可以,因为SELECT
元素是服务器端知道的。但是我不确定这是否适用于PHP。
答案 1 :(得分:0)
在php中,当您填充列表时,请在地图中保留value =&gt;标签映射并返回正确的值,如:
$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;
然后您可以将其存储在隐藏的输入文本中......
警告: 不要直接在sql请求中插入值! 请注意injection SQL
希望这能帮到你......
答案 2 :(得分: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>
答案 3 :(得分: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>