2017-04-22 138 views
0

這是我用於選擇城市的腳本。但是用戶沒有從列表中選擇。html - 未由用戶選擇的選擇選項 - 驗證

<select> 
<option disabled selected value> -- select an option -- </option> 
<option>City 1</option> 
<option>City 2</option> 
<option>City 3</option> 
</select> 

用戶提交表單之後,錯誤來像「通知:未定義指數:CITY在/home/...../public_html/address.php上線44 列‘CITY’不能爲空」

如何驗證之前提交表單?

+0

什麼是你的'address.php'是什麼樣子? – Lixus

+0

你的選擇應該有'name ='city'' – jakob

+0

你可以添加'selected'屬性到你的其中一個選項來默認選擇它。無論如何,由於表單值最終由客戶端控制,因此您需要在服務器端進行某種形式的驗證。 – jrook

回答

0
<select name="city"> 
    <option value="Paris">Paris</option> 
    <option value="London">London</option> 
</select> 

你需要給選項值

0

PHP

<?php 
$message=''; 

if(isset($_POST['submit'])) 
{ 

    if (!isset($_POST['city']) || $_POST['city'] === '') { 
    $message .= " Please Select The City First <br />"; 
    } 
} 

if(isset($message)) 
{ 
echo '<div style="color:#FF0000;text-align:center;font-size:12px;">'.$message.'</div>'; 
} 

?> 

HTML

<select name="city" selected disabled > 
    <option value="city1">City 1</option> 
    <option value="city2">City 2</option> 
    <option value="city3">City 3</option> 
    </select> 
0

廣場select的形式,添加requirednamevalue屬性:

<form> 
    <select name="city" required> 
     <option disabled selected value> -- select an option -- </option> 
     <option value="city1">City 1</option> 
     <option value="city2">City 2</option> 
     <option value="city3">City 3</option> 
    </select> 
<input type="submit" value="Send" /> 
</form> 
+0

謝謝Vesmy,在「select」之後加了「required」它現在就起作用了。儘管還有其他一些使用java腳本的選項,但我認爲它很簡單,只是使用HTML – Sridhar

0

你的代碼應該是這樣的。通過這種方式,您的選擇在發送時會有一個值。並且添加「必需」將確保用戶在提交之前必須選擇。

<select name="city" required> 
 
    <option selected disabled>SELECT CITY</option> 
 
    <option value="City 1">City 1</option> 
 
    <option value="city 2">City 2</option> 
 
</select>

0

我添加了一個JavaScript驗證或代碼。因此它不能爲空。在您選擇之前,此代碼將阻止提交。
下面是HTML形式,

<form action="" method="post" onsubmit="return(Validate());" name="myform"> 
     <select name="city"> 
     <option disabled selected value> -- select an option -- </option> 
     <option value="City 1">City 1</option> 
     <option value="City 1">City 2</option> 
     </select> 
     <div id="name_error" style="color:red;"></div> 
    </form> 

這裏是JS部分

<script type="text/javascript"> 
    <!-- 
     // Form validation code will come here. 

     function Validate() 
     { 

     if(document.myform.city.value == "") 
     { 
      alert("Please provide your city!"); 

      name_error.textContent = "City is Required.!"; 
      document.myform.city.focus() ; 
      return false; 
     } 


     return(true); 
     } 
    //--> 
</script> 
0

可以使所需的選擇標記,每個選項傳遞價值。這將做你的客戶端驗證

<form method = 'post' action='address.php'> 
<select required> 
<option value =""> -- select an option -- </option> 
<option value ="city1">City 1</option> 
<option value ="city1">City 2</option> 
<option value ="city1">City 3</option> 
</select> 
</form> 

休息,如果你也想服務器端驗證,你必須包括在選擇標籤的name屬性。

<form method ='post' action='address.php'> 
    <select name="cities" required> 
    <option value =""> -- select an option -- </option> 
    <option value ="city1">City 1</option> 
    <option value ="city1">City 2</option> 
    <option value ="city1">City 3</option> 
    </select> 
    </form> 

,並形成名字就可以得到選擇選項的值,並做進一步的你想要什麼

$city = $_POST['cities'];