提交表单并从下拉菜单链接

时间:2014-03-10 23:11:52

标签: javascript php jquery forms

我有一个带有2个下拉菜单的简单表单,我需要从第一个下拉列表中发布值,然后转到第二个下拉列表中的链接(将显示第一个下拉值)。我可以让它们中的任何一个工作(一个带有一些javascript)但不能同时使用它们两个?

<form action="" method="POST" id="carform">

<select name="carlist">
  <option value="new">New</option>
  <option value="used">Used</option> 
</select> 

<select name="link">
  <option value="car/volvo.php">Volvo</option>
  <option value="car/saab.php">Saab</option>
</select> 

<input type="submit">

</form>

1 个答案:

答案 0 :(得分:0)

保持课程简单。您正在搜索JavaScript&amp; AJAX。首先,您需要创建一个动态创建选项的页面。例如 ajax.php

<?php
$car_state = $_POST['state'];
/* depending on your data format you need to filter the $car_state or make them e.g.
 * 1 for new and 2 for used and run intval($_POST['state'])
 * the best would be prepared statements but its your choice
 */

#operations on your data
foreach($data as $row)
{
    echo '<option value="'.$row->url.'">'.$row->name.'</option>';
}
?>

然后你需要使用onchange事件。您可以使用jQuery来保持简单,但它不是唯一的选择。所以将其添加到HTML格式中。

<script type="text/javascript">
$('select[name=carlist]').change(function() {
    var state_value = $(this).val();
    if(state_value != "")
    {
        $.post('ajax.php', {state: state_value}, function(data) {
            $('select[name=link]').html(data);  
        });
    }
}); 
</script>