首页 > 解决方案 > 如何在下拉表单中添加 onchange 函数来发送数据?

问题描述

如何使用 onchange 功能从下拉表单中发送数据?

就像 www.abc.com/index.php?version=(我想发送的值)

我只能使用 onChange 提交数据,但这不是我想要的。

<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>

标签: javascriptphphtml

解决方案


1- 表单数据可以作为 URL 变量发送(使用 method="get")。GET 发送敏感数据!(将在 URL 中可见)如 www.abc.com/index.php?version=value

2-您可以使用隐藏文件在服务器上发送存储数据。提交表单时,用户无法查看或修改。

<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>

提交表单后,数据将通过 url 发送。

www.abc.com/index.php?gp_name=gp_name&version=Vers2

推荐阅读