代码之家  ›  专栏  ›  技术社区  ›  Naveed

用JavaScript下拉更改事件触发的参数重新加载页面

  •  4
  • Naveed  · 技术社区  · 14 年前

    <form name='vehicleform'>
    
    <select name='vehiclelist'>
      <option value=''>Select</option>
      <option value='bus'>Bus</option>
      <option value='bike'>Bike</option>
      <option value='car'>Car</option>
    </select>
    
    <input type='text' name='current'></input>
    
    </form>
    

    选择 选项,文本框(当前)将为空。

    当用户从下拉列表中选择任何选项时,页面需要重新加载,并且应该选择该下拉列表项,并且该下拉列表的值应该在文本输入字段中。

    我需要什么JavaScript函数来实现这一点?

    2 回复  |  直到 13 年前
        1
  •  6
  •   Sarfraz    14 年前

    这样地:

    <select name='soemname' id="myid" onchange="document.location.href = 'page.php?var=' + this.value">
      <option value=''>Select</option>
      <option value='bus'>Bus</option>
      <option value='bike'>Bike</option>
      <option value='car'>Car</option>
    </select>
    
    <script type="text/javascript">
      document.getElementById('myid').value = "<?php echo $_GET['var'];?>";
    </script>
    
        2
  •  3
  •   Community Mr_and_Mrs_D    7 年前

    sAc's answer 告诉您如何使用onchange事件修改 位置.href onchange公司 事件。这样,使用JavaScript的用户仍然可以按return键重新加载页面,效果相同:

    <?php $sel = isset($_GET['vehiclelist']) ? $_GET['vehiclelist'] : ""; ?>
    <form name='vehicleform' action="thispage.php">
    
    <select name='vehiclelist' onchange="this.parentNode.submit();">
      <option value='' >Select</option>
      <option value='bus' <?php echo $sel == "bus" ? "selected" : "";?>>Bus</option>
      <option value='bike' <?php echo $sel == "bike" ? "selected" : "";?>>Bike</option>
      <option value='car' <?php echo $sel == "car" ? "selected" : "";?>>Car</option>
    </select>
    
    <input type='text' name='current' value="<?php echo htmlspecialchars($_GET['var']); ?>"></input>
    
    </form>
    

    最终的结果是,禁用JavaScript的用户也可以访问该特性。