2012-12-05 1 views
0

좋아요,이 양식이있어서 값과 페이지의 작업 디렉토리를 제출하고 싶습니다. 옵션을 선택하면 해당 페이지가 열립니다. jQuery로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

당신은 자바 스크립트 나 PHP를 사용하여 선택을 처리해야합니다. 당신은 무엇을 선호합니까? –

+0

나는 자바 스크립트를 잘 모르기 때문에 PHP를 선호한다. – 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

: PHP와

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

-

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

좋아, 좋아! 이거 좀 맞아! 하지만이 모든 것들이 나를 pages 디렉토리에 집어 넣었는데, 특정 URL을 열지 못했습니다. – Intecpsp

+1

다음과 같이 위치에 경로 앞에 호스트를 두었습니다 :'header ("Location : http://yourdomain.com/pages/" . $ _POST [ 'pages']. '.php'); ' –

+0

그 부분은 작동하지만 그것이 무엇을하고 있는지는 http://mydomain.com/pages/에 넣어 둡니다. – Intecpsp