大家好我想问一下,我可以在codigniter中将html选择列表中的其他值提交到数据库中的同一列,例如。
我在Html中有这段代码:
<selectid="major"class="formcontrol"name="f4"onchange='CheckColors(this.value);' required >
<option value="other">other</option>
</select>
<input type="text" name="f4" id="major" style='display:none;'/>
所以当我点击其他输入显示(Javascript)时,
我需要将输入字段的值提交到同一个地方的数据库,而不是select的值:
这是我的模特:
function insert_into_db()
{
$f1 = $_POST['f1'];
$f2 = $_POST['f2'];
$f3 = $_POST['f3'];
$f4 = $_POST['f4'];
$f5 = $_POST['f5'];
$f6 = $_POST['f6'];
$f7 = $_POST['f7'];
$f8 = $_POST['f8'];
$f9 = $_POST['f9'];
$this->db->query("INSERT INTO end VALUES('','$f1','$f2','$f3','$f4','$f5','$f6','$f7','$f8','$f9')");
}
值f4,如果选择了我需要从选择列表中提交,否则它将从输入值提交,请任何帮助?
答案 0 :(得分:0)
不建议对两个单独的表单元素使用重复的名称。
尝试为选择框和输入框使用不同的名称。您仍然可以比较服务器上的发布值,然后选择一个用于存储。
您可能有一个复杂的用户界面,但尽量不要使表单字段复杂化。
希望这有帮助。
答案 1 :(得分:0)
我所做的就是在模型中流动:
function insert_into_db() {
$f1 = $_POST['f1'];
$f2 = $_POST['f2'];
$f3 = $_POST['f3'];
$test=$_POST['f4'];
if($test=="other"){
$f4 = $_POST['f5'];
}else{
$f4 = $_POST['f4'];
}
$f6 = $_POST['f6'];
$f7 = $_POST['f7'];
$f8 = $_POST['f8'];
$f9 = $_POST['f9'];
我添加变量test =&#34;其他&#34;然后发布此值或其他值。