2017-10-12 69 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> 
相關問題