2012-12-05 36 views
0

好的,我有這種形式,我想提交頁面中的值和目錄中的動作,所以當選擇該選項時,它會打開目錄中的頁面。基於表單值的PHP重定向

<form method="post" action="pages/"> 
<ul class="pageitem"> 
    <li class="textbox"><span class="header">Select a specific year</span> 
    </li> 
    <li class="select"><select name="pages/"> 
     <option value="1"></option> 
     <option value="2007.php">2007</option> 
     <option value="2008.php">2008</option> 
     <option value="2009.php">2009</option> 
     <option value="2010.php">2010</option> 
     <option value="2011.php">2011</option> 
     <option value="2012.php">2012</option> 
     </select><span class="arrow"></span> 
    </li> 
    <li class="button"> 
     <input name="Submit input" type="submit" value="Submit input" /> 
    </li> 
</ul> 
</form> 
+0

您需要處理使用JavaScript或PHP的選擇。你喜歡哪個? –

+0

我更喜歡php,因爲我不太瞭解javascript太好 – Intecpsp

回答

0

GOT IT!我不需要提交按鈕。我有一位朋友幫助我。這裏是形式:

<script type="text/javascript" src="pages/select.js"></script> 
<form method="post" action="pages"> 
<ul class="pageitem"> 
    <li class="textbox"><span class="header">Select a specific year</span> 
    </li> 
    <li class="select"> 
    <select id="select1" onchange="goToPage('select1')"> 
     <option selected="selected"></option> 
     <option value="pages/2007.php">2007</option> 
     <option value="pages/2008.php">2008</option> 
     <option value="pages/2009.php">2009</option> 
     <option value="pages/2010.php">2010</option> 
     <option value="pages/2011.php">2011</option> 
     <option value="pages/2012.php">2012</option> 
    </select> 
    <span class="arrow"></span> 
    </li> 
</ul> 
</form> 

這裏是select.js:

function goToPage(id) { 

    var node = document.getElementById(id); 

    if(node && 
    node.tagName == "SELECT") { 

    window.location.href = node.options[node.selectedIndex].value; 

    } 


} 
0

使用jQuery:

$('select').change(function() { 
    $(this).closest('form').attr('action', 'pages/' + $('option:selected', this).val()); 
}); 

與PHP(短版 - 注意,您應該取消對NAME = 「頁/」 後面的斜線)

header('Location: /pages/' + $_POST['pages']); 
+0

好吧,我對jQuery一無所知。我如何使用它? – Intecpsp

+0

添加了PHP代碼。 –

0
<?php 
$valid_pages = array("2007","2008","2009","2010","2011","2012"); 
if(isset($_POST['pages']) && in_array($_POST['pages'], $valid_pages)) 
{ 
    header("Location: /pages/" . $_POST['pages'] . '.php', true, 303); 
    exit; 
} 
?> 

<form method="post" action="pages"> 
    <ul class="pageitem"> 
     <li class="textbox"><span class="header">Select a specific year</span> 
     </li> 
     <li class="select"><select name="pages"> 
      <option value="1"></option> 
      <option>2007</option> 
      <option>2008</option> 
      <option>2009</option> 
      <option>2010</option> 
      <option>2011</option> 
      <option>2012</option> 
      </select><span class="arrow"></span> 
     </li> 
     <li class="button"> 
      <input name="Submit input" type="submit" value="Submit input" /> 
     </li> 
    </ul> 
    </form> 
+0

好的,甜的!這一個有點作品!但所有這一切都把我放在網頁目錄中,它沒有打開具體的URL – Intecpsp

+1

把你的主機放在位置的路徑之前,像這樣:'header(「Location:http://yourdomain.com/pages/」 。$ _POST ['pages']。'.php');' –

+0

該部分正在工作,但它在做什麼是把我放在http://mydomain.com/pages/,在那裏我可以看到所有的文件 – Intecpsp