2011-01-27 5 views
2

나는이 PHP 스크립트를 만들었고 완벽하게 게시했지만 예상대로 전체 페이지를 새로 고치고이 PHP 파일을 새로 고치고 선택된 도시의 결과를 반환하고 선택한 = "selected"옵션을 사용해야합니다. 양식을 사용하여 원하는만큼 여러 번 사용할 수 있지만 부분적으로 새로 고침하면 전체 사이트가 아닌 것입니다. 미리 감사드립니다. 자바 스크립트 라이브러리가 좋습니다 특히 초보자이 PHP 코드에 아약스 넣어하는 방법?

<?php 
$city='London'; 
$selected= array('selected="selected"','',''); 
if(isset($_POST["cities"])){ 
    $city=$_POST["cities"]; 
    switch($city) 
    { 
     case 'London': $selected[0]='selected="selected"'; $selected[1]=''; $selected[2]=''; break; 
     case 'Manchester': $selected[0]=''; $selected[1]='selected="selected"'; $selected[2]=''; break; 
     case 'Liverpool': $selected[0]=''; $selected[1]=''; $selected[2]='selected="selected"'; break; 
     default: break; 
    } 
} 
?> 
<html> 
<head> 
</head> 
<body> 
<div id="change"> 
<form name="ch_city" id="ch_city" method="post"> 
    <select name="cities" id="cities" onchange="document.ch_city.submit();"> 
     <option value="London" <?php echo $selected[0]; ?>>London</option> 
     <option value="Manchester" <?php echo $selected[1]; ?>>Manchester</option> 
     <option value="Liverpool" <?php echo $selected[2]; ?>>Liverpool</option> 
    </select> 
</form> 
<p>You've chosen: <?php echo $city; ?>.</p> 
</div> 
</body> 
</html> 

답변

1

AJAX 작업을하고, 그것은 당신의 코드가 브라우저 간 호환성이 보장하고 더러운 일을 많이 처리합니다 : 다음은 코드입니다. jQuery은 일반적으로 시작하기에 좋은 장소입니다. 설명서가 훌륭하며 자바 스크립트를 정렬해야합니다. 아이디어는 기본적으로 페이지를 새로 고치지 않고 서버에서 데이터를로드 할 수 있다는 것입니다. 행운을 빕니다!

+0

덕분에, 나는 JQuery와 함께하지만 성공하지 않고 노력하고 있었고, 난 여기에 썼다, 그러나 나는 다시 http://www.dhtmlgoodies.com/index.html?whichScript=form-submit 감사를 발견, I 그런 종류의 것들을 고수하지 않도록 jQuery를 빨리 배워야합니다./ – john

+0

설명서를 읽고 예제를 읽으면 많은 도움이되었습니다. – Sam152

0

아약스가 오해하는 것 같아요. Ajax는 기본적으로 몇 가지 javascript 함수입니다. Javascript는 클라이언트 측 기술이므로 PHP가 서버 측에서 실행되기 때문에 "PHP에 넣을"수 없습니다.

편집 : 나 전에 포스터처럼 웹 초보자를위한 전체 무리를 돕는 Jquery를 확인하는 것이 좋습니다.

+0

어쩌면 나는 충분히 자신을 표현하지 못했을 것입니다. 그 기술이 무엇인지 알았고 해결책을 찾았습니다. 답장을 보내 주셔서 감사합니다. 그리고 네, jQuery를 배워야합니다. 나 같은 아약스 등으로 초보자가 더 쉽게 사용할 수 있습니다. – john

1

존, 문제는 보이는 것보다 조금 복잡합니다.

근본적인 문제는 코드 구조입니다. PHP가 HTML과 섞여 있고 JavaScript가 하나의 파일에 모두 포함되어있는 것은 흔히 볼 수 있지만 재앙을 대비하는 방법이며 확장되지 않습니다. 이 경우 페이지가 AJAX-y가되도록 확장하지 않습니다.

PHP와 HTML을 분리해야하며 JavaScript에서 HTML을 분리해야합니다. 별도로 말하면, 오직 PHP가 들어있는 PHP 파일과 대부분 HTML이있는 HTML 파일을 가져야한다는 것을 의미합니다 (예를 들어,이 옵션 태그는 선택 되십시오. ")

나는 이것들을 모두 독자적으로 시도해 보라고 제안하지 않을 것이다. 내가 제안 할 것은 CakePHP와 같은 프레임 워크를 살펴 보는 것이다. "옳은 길." 주요 프레임 워크는 꽤 큰 커뮤니티를 가지고 있으며 문서화가 잘되어 있으므로 "AJAX는 어떻게해야합니까?" 기회가 이미 누군가 그것을 완료하고 그것은 프레임 워크에 의해 지원됩니다.

질문에 대한 답변을 드리지 못해 죄송합니다.이 답변을 통해 더 많은 문제를 해결할 수 있습니다. 답장을

+0

답변에 100 % 동의하지 않더라도 자세한 설명은 +1하십시오. 제안 사항을 따로 따로 보관하면 문제가 해결되는 것보다 더 많은 문제가 발생할 수 있습니다. – MJB

관련 문제