2014-06-13 5 views
0

데이터베이스 처리를위한 웹 페이지를 디자인 중입니다. 그래서 아이디어는 Dropdown on Change 옵션 선택

  1. 내가 드롭 다운을 가지고있다
  2. 때 옵션에 사용자가 클릭,
  3. 가 직접 다른 웹 페이지에 새로운 페이지에서
  4. 포함 된 새 창을 열에서 값을 받고 나는이 옵션을 클릭하면 문제가 $_POST

와 데이터베이스 모니터링에 대한 새로운 페이지 dropdown는, 그 새 페이지가 아닌 새 창 형태로 리디렉션합니다. 내가 선택한 값을 보내려면 어떻게합니까 방법은

<script> 
      $(function(){ 
       $('#cd-dropdown').bind('change', function() { 
        var url = $(this).val(); // get selected value 
        if (url) { // require a URL 
         window.location = "monitorIndex.php"; // redirect 
        } 
        return false; 
       }); 
      }); 
     </script> 

,

$newVal = strval($_POST['PROJECT_NAME']); 

내 코드가 함께 새로운 페이지에 사용 및 마크 업합니다 :

$projectParse = oci_parse($conn, 'SELECT DISTINCT PROJECT_NAME FROM MASTER_DRAWING ' 
             . 'ORDER BY PROJECT_NAME ASC'); 
           oci_execute($projectParse); 

           echo '<select name="cd-dropdown "id="cd-dropdown" class="cd-select">'; 
            echo '<OPTION VALUE="">PROJECT SELECT</OPTION>'; 
            while($row = oci_fetch_array($projectParse,OCI_ASSOC)){ 
             $projectName = $row ['PROJECT_NAME']; 
             echo "<OPTION VALUE='$projectName'>$projectName</OPTION>"; 
            } 
           echo '</select>'; 
+0

사용 window.open ("monitorIndex.php")를보십시오; –

+0

덕분에 그것은 매력처럼 작동합니다. 하지만 POST를 사용하여 해당 페이지에 $ projectName을 전달하는 방법은 무엇입니까 ?? – marmar

+0

변경 함수 내에서 'window.location'을 호출하는 대신 (window.location이 양식을 제출하지 않음) 선택한 값과 함께 ajax 요청을 호출 한 다음 ajax 함수의 'success'함수를 호출하여 새 웹 페이지로 호출 – Silz

답변

0

하면 아래의 코드를

$('#cd-dropdown').change(function(){ 
    var id = $(this).val(); 
    $.ajax({ 
     type: "POST", 
     url: "monitorIndex.php", 
     data: { PROJECT_NAME: id } 
    }) 
    .done(function(msg) { 
     var myWindow = window.open("", "MsgWindow", "width=800, height=800"); 
     myWindow.document.write(msg); 
    }); 
}); 
+0

프로젝트 중 하나를 선택할 때 잘 동작하지 않습니다. ( – marmar

+0

ajax 호출을 확인합니다. 내가 포스트 변수 이름을 'PROJECT_NAME'(으)로 변경했습니다. PHP에서 $ _POST [ 'PROJECT_NAME']을 (를) 사용해보십시오. 파일. – Silz

+0

그 이상한 귀하의 코드가 전혀 아무것도하지 않는 – marmar

1

이 하나를 시도하십시오.

$('#cd-dropdown').change(function(){ 
    var id = $(this).val(); 
    window.location = 'monitorIndex.php?id=' + id; 
}); 
+0

이것은'POST' 대신에'GET'을 사용해야 할 것입니다. 또한,'window.opener.document.getElementById (..)'를 사용하여 부모 페이지에서 선택된 드롭 다운의 값을 얻을 수 있습니다. –

0
This method should take you to new window with ProjectName in URL. 

    $('#dropdown').change(function(){ 
     var id = $(this).val(); 
     window.open ('monitorIndex.php?id=' + id ,'_blank'); 
    }); 



Or another way is if you are using HTML5 , you can use local storage, 
You can basically keep the value on client side localstorage and can access it on any other page. 

// Store 
localStorage.setItem("projectname", "abc"); 
// Retrieve 
document.getElementById("result").innerHTML = localStorage.getItem("projectname"); 
+0

그런 다음 새 페이지에서 그 값을 사용하는 방법은 무엇입니까? using $ _POST [ 'projectName'] ?? – marmar

+0

귀하의 방법이 작동하지 않습니다 – marmar

+0

URL에 ProjectName이있는 새 페이지로 이동할 수 있습니까? 예 경우 $ _GET [ 'id']로 값에 액세스 할 수 있습니다. – Imran