我有一些大学的下拉列表,如果用户所在的大学不在列表中,他可以用输入框添加它。我的问题是,在用户单击提交按钮后,我无法从下拉列表中获取值。
我在视图中的代码是:
echo "University:";
?>
<div id="university2" style="display:block;">
<?php
echo form_dropdown('university2',$this->session->userdata('user'));
echo " ";
echo "<a href= javascript:ShowContentuni('university')>Other</a>";
?>
</div>
<div id="university" style="display:none;">
<?php
echo form_input('university',$this->input->post('university'));?>
</div>
我在控制器中的代码是:
if(isset($_POST['university']))$university= $this->input->post['university'];
else if(isset($_POST['university2']))$university=$this->input->post('university2');
任何想法我做错了什么?
答案 0 :(得分:0)
看起来有两个问题:
$university
的值,即使它是空的快速解决方法是首先删除第二个“大学”表单元素,即删除它:
echo form_input('university',$this->input->post('university'));
然后检查用户是否已手动输入大学名称,如果是,则使用该名称。如果用户未输入大学名称,请使用下拉值。代码如下所示:
$universityFromDropdown = $this->input->post('university');
$universityFromManualInput = $this->input->post('university2');
$university = is_string($universityFromManualInput)
&& strlen($universityFromManualInput) > 1
? $universityFromManualInput : $universityFromDropdown;