henrik
henrik

Reputation: 43

how can I add onchange function in a dropdown form to send data?

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

Answers (3)

Shivendra Singh
Shivendra Singh

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

Rahat Hameed
Rahat Hameed

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

Chirag Chauhan
Chirag Chauhan

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

Related Questions