如何通过具有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>
答案 0 :(得分:1)
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
答案 1 :(得分:0)
尝试一下
<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>
答案 2 :(得分:0)
可以使用Jquery轻松完成此任务。
首先在页面上添加Jquery。
然后在就绪状态下调用更改事件。
$(document).ready(function(){
$('#myselect').on('change', function(){
//Give your form an ID, i assume it is MyForm
$('#MyForm').submit();
});// Change
});// Ready