2017-10-12 71 views
0
<div class="control-group"> 
       <label class="control-label"> 
       <span class="red">*</span>Camera name</label> 
       <div class="controls"> 
       <select name="cam_name" class="span3" id = "ddlPassport" onchange = "ShowHideDiv()"> 
        <option>Select camera:</option> 
        <option>canon</option> 
        <option>nicon</option> 
        <option>sony</option> 
        <option>pentex</option> 
        <option>olympus</option> 
        <option>others</option> 
       </select> 
       </div> 
      </div> 
      <div class="control-group" id="dvPassport" style="display: none"> 
       <label class="control-label">Your camera name:</label> 
       <div class="controls"> 
       <input type="text" placeholder="Enter model" name="cam_name" class="input-xlarge"> 
       </div> 
      </div> 

的JavaScript当从下拉列表中选择项目时显示文本框html php?

<script type="text/javascript"> 
function ShowHideDiv() { 
    var ddlPassport = document.getElementById("ddlPassport"); 
    var dvPassport = document.getElementById("dvPassport"); 
    dvPassport.style.display = ddlPassport.value == "others" ? "block" : "none"; 
} 

PHP代码

$camname = $_POST['cam_name'];// user name 
if(empty($camname)){ 

     $errMSG = "Please enter camera name"; 

    } 

,当我从下拉列表中选择 “其他” ...它工作正常 但问题是,当我选择佳能或nicon其他...隐藏div的输入标签给出了错误..在php代码时,如果(空($ camname));

+0

你能后的错误讯息? –

+0

php代码位于哪里?与您的HTML/JS或其他文件相同的文件?而且你的脚本的运行时间是在哪里运行的? – Lixus

+0

亚同一个文件....问题是,即使..我从下拉列表中选择项目,如canon,nikon,sony ...... php代码完美地保存了值...但是如果条件它也会检查另一个输入标签名称=“cam_name”...如何限制它 –

回答

1

对选择和输入标记有不同的名称。而且是很好的做法,增加选项值

<select name="cam_name" class="span3" id = "ddlPassport" onchange = "ShowHideDiv()"> 
<option value="">Select camera:</option> // null 
<option value="canon">canon</option> 
<option value="nicon">nicon</option> 
<option value="sony">sony</option> 
<option value="pentex">pentex</option> 
<option value="olympus">olympus</option> 
<option value="others">others</option> 
</select> 

// give a new name for this input 
<input type="text" placeholder="Enter model" name="other_cam_name" class="input-xlarge"> 

PHP代码:

$camname = $_POST['cam_name'];// cam name 
$other_camname = $_POST['other_cam_name'];// other cam name 
// if both select and input values 
if(empty($camname) || ($camname =='others' && empty($other_camname))){ 
    echo $errMSG = "Please enter camera name"; 
}else{ 
    echo $cam_name = ($camname =='others') ? $other_camname : $camname; 
} 
+0

谢谢@ravinder Reddy .it工程 –

0

您需要明确定义option值。例如:

<option value="cannon">canon</option> 
相关问题