dongyan3853
2019-05-20 10:31
浏览 136

如何在下拉表单中添加onchange功能来发送数据?

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>
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • duanhaodi4809 2019-05-20 10:55
    已采纳

    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
    
    打赏 评论
  • dounai9294 2019-05-20 10:38

    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>
    
    打赏 评论
  • douyanti2808 2019-05-20 11:07

    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
    
    打赏 评论

相关推荐 更多相似问题