2013-10-02 69 views
1

我有一個下拉菜單和一個提交按鈕..我想當我選擇英語語言和提交然後我重定向頁面的英文.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> 
+2

請過濾用戶輸入。看到我的帖子下面。 –

回答

2

您需要指定您的選項標記的值。但是,讓用戶指定腳本運行並不安全。所以你應該檢查你的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> 
1

對於您必須具有選項

<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; 
} 
+0

thanx它正在工作:-) – user2748343

+0

+1但** **請放棄有關輸入衛生的聲明。 –

+0

@ user2748343:過濾用戶的輸入,否則會被黑客入侵。 – ryy

0

通過使用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'); 
     }); 
    }); 

0

,或者你可以改變形式的作用的jQuery,如:

$('select[name="language"]').change(function(){ 
    $('form').attr('action' , $(this).val()) 
}); 
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> 
相關問題