Reputation: 43
how can I send the data from a dropdown form with onchange function?
Just like www.abc.com/index.php?version=(the value I suppose to send)
I can only use onChange to submit the data, but it is not I want.
<form action="gp_data.php?gp_name=<?php echo $_GET['gp_name'] ?>&version=<?php echo $_POST['version'] ?>" method="POST">
<select name="version" onChange="this.form.submit()">
<option>Vers</option>
<?php while($subjectData = mysql_fetch_array($version)){ ?>
<option value="<?php echo $subjectData['version'];?>">
<?php echo $subjectData['version'];?>
</option>
<?php }?>
</select>
</form>
Upvotes: 0
Views: 154
Reputation: 3006
1- Form-data can be sent as URL variables (with method="get"). GET to send sensitive data! (will be visible in the URL) like www.abc.com/index.php?version=value
2- you can use hidden filed to send the store data on server. that cannot be seen or modified by users when a form is submitted.
<form action="index.php" method="GET">
<!----- Get the session value -->
<?php
$gp_name = $_SESSION['gp_name'];
?>
<!---- use the hidden file to send the session data within action ---->
<input type="hidden" name="gp_name" value="<?php echo $gp_name;?>">
<select name="version" onChange="this.form.submit()">
<option>Vers</option>
<?php while($subjectData = mysql_fetch_array($version)){ ?>
<option value="<?php echo $subjectData['version'];?>">
<?php echo $subjectData['version'];?>
</option>
<?php }?>
</select>
</form>
After submit the form, data will send by url like.
www.abc.com/index.php?gp_name=gp_name&version=Vers2
Upvotes: 1
Reputation: 432
This task can be simply achieved by using Jquery.
First of all add Jquery on your page.
Then call On change event in Ready state.
$(document).ready(function(){
$('#myselect').on('change', function(){
//Give your form an ID, i assume it is MyForm
$('#MyForm').submit();
});// Change
});// Ready
Upvotes: 0
Reputation: 59
Try this
<form method="POST" action="">
<select name="version" id="myselect" onchange="this.form.submit()">
<option>Vers</option>
<?php while($subjectData = mysql_fetch_array($version)){ ?>
<option value="<?php echo $subjectData['version'];?>">
<?php echo $subjectData['version'];?>
</option>
<?php }?>
</select>
</form>
Upvotes: 0