im trying to make the validation for the select option. tried with using disabled but the first data is displayed as the first choice. how can i used validation here but not with the data as the first choice but "Select Type". for input i just used class required="form-control". how about select option?
<div class="form-group">
<label class="control-label col-sm-4" for="vehicleType">Vehicle Type:</label>
<div class="col-sm-5">
<select class="form-control required" name="vehicleType" >
<option value="" disabled="disabled">Select Type</option>
<?php
$res=mysqli_query($link,"Select * from vehicletype where status_vehicleType='1'");
while ($row=mysqli_fetch_array($res)) {
?>
<option value=<?php echo $row['id_vehicleType'];?>><?php echo $row['vehicle_Type'];?></option>
<?php
}
?>
</select>
</div>
disabled skip the "select type" option and display the first data.
You can add selected attribute to first <option> tag inside while loop.
<div class="form-group">
<label class="control-label col-sm-4" for="vehicleType">Vehicle Type:
</label>
<div class="col-sm-5">
<select class="form-control" name="vehicleType" required >
<option value="">Select Type</option>
<?php
$res=mysqli_query($link,"Select * from vehicletype where status_vehicleType='1'");
while ($row=mysqli_fetch_array($res)) {
?>
<option value=<?php echo $row['id_vehicleType'];?>><?php echo $row['vehicle_Type'];?></option>
<?php
}
?>
</select>
this worked for me. i just get rid the disabled and only put "required" in the attributes element without any "=" " ". didnt know required also works with this one.
Related
I am developing web application for that i am using codeigniter-3 framework,i have one hardcoded dropdown in view file that is working fine as i expected.in my listing page one edit option is there i have passed the data from controller to the view file for binding the data for editing it's working fine except select dropdown can you please help me to fix the issue...?
<div class="form-group">
<label for="exampleInputName1">Movie Type</label>
<select name="m_type" id="" class="form-control">
<option value="">No Selected</option>
<option value="1">Horror</option>
<option value="2">Comedy</option>
<option value="3">Romance</option>
</select>
</div>
//it's working fine for Book Qty
<div class="form-group">
<label for="exampleInputName1">Book Quantity</label>
<input type="text" name="b_qty" class="form-control" value="<?php echo $res[0]->book_quantity; ?>" id="exampleInputName1" placeholder="">
</div>
dump
array(1) {
[0]=>
object(stdClass)#32 (13) {
["id"]=> '11'
["tank_type"]=> "1"
}
}
i want to bind the Horror in the edit page dropdown by default in this case.
Use selected attribute to do that or jQuery Code
jQuery('#m_type').val('1').trigger('change')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="m_type" id="m_type" class="form-control">
<option value="">No Selected</option>
<option value="1">Horror</option>
<option value="2">Comedy</option>
<option value="3">Romance</option>
</select>
<select class="form-control" id="customer_id" name="customer_id">
<?php foreach ( $array as $item ){ ?>
<option value="<?php echo $item->id ?>"<?php echo($item->id=='1')?'selected':''; ?>><?php echo $item->label; ?></option>
<?php }?>
</select>
i have below html code
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" class="contact">
<label id="name">
<h4>name*</h4>
<input type="text" name="name" placeholder="full name" autofocus/>
</label>
<label id="city">
<h4>city</h4>
<select name="city">
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
</select>
</label>
PHP code
if($_POST["name"] == null)
{
echo "<p class='wrong'><strong>wrong: </strong> name is empty</p>";
}
if($_POST["city"] == null)
{
echo "<p class='wrong'><strong>wrong: </strong> city is empty</p>";
}
this to check the null value and always gives the city is empty that means no value selected
Cannot comment yet.
Maybe try and close the label before the select.
<label id="city">
<h4>city</h4>
</label>
<select name="city">
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
</select>
and maybe do
<?php echo "<pre>".print_r($_POST,true)."<pre>";
to see what values are set.
And as others have suggested check of the value is empty()
if(!isset($_POST['city'])||empty($_POST['city']))
This returns true if city is empty, has no value or true if it doesn't exist.
Hope this helps!
Edit 1:
Also since the php code is probably on the same page, could just omit the action attribute.
<form method="POST" class="contact">
<label for="city">
<h4>city</h4>
</label>
<select id="city" name="city">
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
</select>
</form>
also use the for attribute with the ID of the input field you want it to represent
I modify a code which gives a set of values as dropdown in a combobox. But I want to set a default value to the combobox while the drop down is there. This is my code. If you can help me I really appreciate your help. Thnks in advance.
//Add a drop down list of countries
<div class="col-sm-offset-2 col-xs-9">
<select class="select2" name="country" id="country" data-placeholder="Country" required style="width:100%;">
<option value=""> Select </option>
<?php foreach($this->countries as $pro){
echo '<option value="'.$pro->id.'">'.$pro->country_name.'</option>';
}
?>
</select>
</div>
Add this Condition
<div class="col-sm-offset-2 col-xs-9">
<select class="select2" name="country" id="country" data-placeholder="Country" required style="width:100%;">
<option value=""> Select </option>
<?php foreach($this->countries as $pro){
echo '<option value="'.$pro->id.'" '.if($pro->country_name == "india"){.'selected'.}.'>'.$pro->country_name.'</option>';
}
?>
</select>
</div>
I am trying to get user selection from php form but instead of name I am getting id of elements. instead of ids I want to get names. Please help
here is the url
http://efinancec.com/d/drop4/index.php
and here is the code
<form action="../form/form1.php" method="post" enctype="multipart/form-data">
<div class="frmDronpDown">
<div class="row">
<label>Training:</label><br/>
<select name="training" id="training-list" class="demoInputBox" onChange="getCourse(this.value);">
<option value="">Select Training</option>
<?php
foreach($results as $training) {
?>
<option value="<?php echo $training["id"]; ?>"><?php echo $training["training"]; ?></option>
<?php
}
?>
</select>
</div>
<div class="row">
<label>Course:</label><br/>
<select name="course" id="course-list" class="demoInputBox" onChange="getCountry(this.value);">
<option value="">Select Course</option>
</select>
</div>
<div class="row">
<label>Country:</label><br/>
<select name="country" id="country-list" class="demoInputBox" onChange="getCity(this.value);">
<option value="">Select Country</option>
</select>
</div>
<div class="row">
<label>City:</label><br/>
<select name="city" id="city-list" class="demoInputBox" onChange="getDates(this.value);">
<option value="">Select City</option>
</select>
</div>
<div class="row">
<label>Dates:</label><br/>
<select name="dates" id="dates-list" class="demoInputBox" onChange="getPrice(this.value);">
<option value="">Select Dates</option>
</select>
</div>
<div class="row">
<label>Online Onsite Price:</label><br/>
<select name="price" id="price-list" class="demoInputBox">
<option value="">Select Online or Onsite</option>
</select>
</div>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
and this is how I am getting the values from sql database
<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
if(!empty($_POST["training_id"])) {
$query ="SELECT * FROM course WHERE training_id = '" . $_POST["training_id"] . "'";
$results = $db_handle->runQuery($query);
?>
<option value="">Select Course</option>
<?php
foreach($results as $course) {
?>
<option value="<?php echo $course["id"]; ?>"><?php echo $course["course"]; ?></option>
<?php
}
}
?>
Change this line:
onChange="getCourse(this.value);">
To this :
onChange="getCourse(this.text);">
You are passing id of the course as the value of dropdown and calling that value which is fine but you need to call the text of select option to get the course name.
I changed this.value to this.text as suggested and created the new page and it stoped working at all now it is not pulling the records from database except the first one. Here is the link
http://efinancec.com/d/drop4/index1.php
where as my earlier page is still working fine.
http://efinancec.com/d/drop4/index.php
I think I could not convey my problem earlier. My depended dropdown is working fine but when a user submits the form in the email I receive the ids instead of name. Thats the problem.
For example I myself made some selections on index.php and submitted form Here is the email I got
training: 1
course : 101
country: 1001
city: 5005
Basically I am getting the the respective ids instead of name.
I'am looking for a hide show script based on parentCatId and catId!
This is the div i try to hide and or show! div class="item-post-lot-area"
<div class="item-post-lot-area">
<label for="s_lotsize">
<?php _e('Lot Area', 'ctg_housing'); ?>
</label>
<div class="row collapse prefix-radius">
<div class="item-post-area-sign columns">
<span class="prefix"><?php echo osc_get_preference('metric','ctg_housing_theme'); ?></span>
</div>
<div class="item-post-area-number columns">
<input type="number" name="s_lotsize" id="s_lotsize" value="<?php if(isset($housingOut['s_lotsize'])) { echo $housingOut['s_lotsize'];} ?>" >
</div>
</div>
</div>
what i try!
item-post-lot-area field will all time show when loading the page! And will hide when selected the following parentCatId and catId
<option value="28">Vacation</option>
<select id="catId" name="catId" class="valid">
<option value="28">Select Subcategory</option>
<option value="29">Pension House</option>
<option value="30">Inn / Motel</option>
<option value="31">Hotel & Resort</option>
</option>
</select>
<select id="catId" name="catId" class="valid">
<option value="32">Select Subcategory</option>
<option value="33">Space</option>
<option value="34">Office</option>
<option value="35">BPO</option>
<option value="36">Economic</option>
</select>
Can someone explain me how to do this?
Thanks
You're probably looking along the lines of using .on("change") to run when the select element is changed. You can then check which value (if need be) has been selected, and then use $(".item-post-lot-area").hide() to hide the div.
$("#catId").on("change", function(){
$(".item-post-lot-area").hide();
});