1

我有一个下拉菜单和一个提交按钮.. 我希望当我选择英语并点击提交时,我会重定向页面 English.php。

这是我的代码..但它不工作....

<?php $lang=$_REQUEST['language'];  ?>
<form action="<?php echo $lang; ?>" method="Post">
<select name="language">
<option>select one</option>
<option>English</option>
<option>Hindi</option>
</select>
<input type="submit">
</form>
4

5 回答 5

1

您需要在选项标签中指定一个值。但是,让用户指定要运行的脚本并不安全。因此,您应该检查 PHP 代码中表单的值并决定将用户发送到何处。

<?php
    $lang=$_REQUEST['language'];

    switch ($lang) {
        case 'english':
            $page = 'english.php';
            break;
        case 'hindi':
            $page = 'hindi.php';
            break;    
        default:
            $page = null;
    }

    if ($page) {
        header("Location: ".$_POST['language']);
        exit;
    }

?>

<form method="post">
    <select name="language">
        <option value="">select one</option>
        <option value="english">English</option>
        <option value="hindi">Hindi</option>
    </select>
</form>
于 2013-10-02T12:31:06.933 回答
0

请找到更详细的方法

<script language="javascript">
     function goPage() {
          if (document.frm.language.value != '') {   
              document.frm.action = document.frm.language.value;
              document.frm.submit();   
          }
     }
</script>

<form name="frm" method="get">  
     <select name="language">
        <option value="">select one</option>
        <option value="English.php">English</option>
        <option value="Hindi.php">Hindi</option>
     </select>
     <input type="button" value="Go" onclick="javascript:goPage()" />
</form>
于 2013-10-02T12:47:38.697 回答
0

或者您可以通过 jQuery 更改表单的操作,例如:

$('select[name="language"]').change(function(){
   $('form').attr('action' , $(this).val())
});
于 2013-10-02T12:35:59.907 回答
0

为此,您必须为选项定义值

<select name="language">
   <option value="">select one</option>
   <option value="English.php">English</option>
   <option value="Hindi.php">Hindi</option>
</select>

以上是HTML现在将表单发布重定向到所选选项时的代码,如下所示。

if(isset($_POST['submit']))
{
    header("Location: ".$_POST['language']);
    exit;
}
于 2013-10-02T12:32:48.707 回答
-1

通过使用 javascript

html代码:

<select name="dropdpown" size="1" id="select-anchor">
   <option value="#link">foo</option>
   <option value="#link">bar</option>
</select>

脚本代码:

$(document).ready(function () {
        $('#select-anchor').change( function () {
            var targetPosition = $($(this).val()).offset().top;
            $('html,body').animate({ scrollTop: targetPosition}, 'slow');
        });
    });

演示

于 2013-10-02T12:35:24.830 回答