2012-02-09 7 views
0

일부 객체가있는 양식이 있습니다. 드롭 다운 상자의 경우 사용자가 옆에있는 단추를 클릭하면 이전 드롭 다운 상자 아래에 새 드롭 다운 상자가 나타납니다. 사용자가 항목을 선택하고 원하는 경우 단추를 다시 클릭하고 새 드롭 다운 상자가 나타나고 항목을 선택하는 등의 작업이 수행됩니다. 이것은 내 드롭 다운 상자 및 버튼 코드입니다. 나는 그런 것을 만드는 방법을 모른다.PHP로 객체를 동적으로 생성

<td> 
<?php 
echo "<select name=\"dropdown_docs_remove\" id=\"dropdown_docs_remove\">"; 
    for ($i=0; $i<count($regulationsarr); $i++){ 
    echo "<option value=\"$i+1\">$regulationsarr[$i]</option>\n"; 
    } 
echo "</select>"; 
?> 
<INPUT TYPE=BUTTON NAME=btn_removedoc VALUE="+" ONCLICK="add_newdoc_to_remove()"> 
</td> 

답변

1

이 기능을 AJAX (Asynchronous JavaScript and XML)라고합니다.

다른 말로하면 javascript .. 스크립트가 일부 데이터 (브라우저와 같은 일반적인 요청)로 서버에 요청한 다음 결과를 처리하고 페이지를 새로 고치지 않고 페이지의 일부만 업데이트 할 수 있습니다. 완전한.

이것은 간단한 작업이 아니며 고려해야 할 사항이 많이 있습니다. 앞으로이 방법이 필요할 것으로 생각되면이 방법으로 작업하십시오. 시간을 보내고 AJAX를 배우십시오. jQuery는 완벽한 아약스 지원을 제공하는 멋진 자바 스크립트 라이브러리이며 일반 자바 스크립트를 학습하는 것보다 훨씬 쉬워야합니다.

그냥 힌트, 당신은 POST 같은 jQuery로 (보다 안전한) 요청을 할 수 있습니다 : 그것은 정상적인 요청 때처럼 서버 측에 관해서는

$.post('/url/to/your/script.php', {'key1': 'value1', 'key2': 'value2'}, function(result) { 
    // This function is called after the server responds, and result holds either RAW response (html or whatever), or you can parse it as JSON by supplying a fourth argument to $.post with value 'JSON'. Here is where you update your HTML page. 
}); 

을, 모든 돈 당신을 제외하다 HTML 페이지 전체를 반환 할 필요는 없으며, 일부분 만 반환하면됩니다. 사용자의 경우 드롭 다운 상자 HTML을 삽입해야합니다.

3

문제는 JavaScript로 클라이언트 측에서 수행해야한다는 것입니다.

PHP가 서버에서 실행됩니다. 브라우저가 페이지를 렌더링하기 오래 전에 코드가 더 이상 실행되지 않습니다.

jQuery 사용 방법을 배우는 것이 좋습니다. http://docs.jquery.com/Tutorials

관련 문제