2012-01-05 6 views
0

양식 데이터를 AJAX를 통해 제출하는 데 문제가 없으며 모든 데이터를 별도의 div에 표시하십시오.양식 제출 후 양식 필드 업데이트

그러나 서버 응답을 기반으로 양식에 몇 가지 새로운 정보를 어떻게 업데이트합니까? 내 경우

나는이 : 양식에서

  • 데이터 (JQuery와 직렬화로) 수집 및 Ajax를 통해 PHP 스크립트로 전송 체크 박스의 그룹을 포함하여 많은 입력과

    1. 형태.
    2. 선택한 체크 상자 근처의 텍스트에 특정 색을 설정해야합니다.

    클라이언트 측이 아니라 서버 측 스크립트를 기반으로 설정해야합니다.

    초기 양식 데이터를 기반으로 양식을 업데이트해야하는 경우 정확한 논리 프로세스를 설명하십시오.

  • +0

    http://jsfiddle.net – diEcho

    답변

    0

    jQuery를 사용하는 경우 AJAX (게시/가져 오기)를 통해 데이터를 보내면 일반 텍스트/json/xml 형식 (선택 사항)의 서버 스크립트로부터 응답을받을 수 있습니다. 이 경우 색상 코드 만 반환해야하는 경우 일반 텍스트 형식을 사용할 수 있습니다. 응답을 받으면 데이터를 조작 할 수 있습니다.

    $.post("test.php", $('#form').serialize(), 
    function(returned_data_from_server_script) { 
        $('some dom for color').css('color', returned_data_from_server_script); 
    }); 
    
    +0

    에서 필자가 원하는대로 변경할 새로운 JS 코드를 삽입하여 데이터를 조작 하시겠습니까? 이것이 유일한 방법입니까? – ihtus

    +0

    조작 될 실제 데이터 만 반환하면됩니다 (예 : 서버 스크립트가'# 000'을 반환합니다). 그리고 그 데이터로 당신이 원하는대로 할 수 있습니다. 어떤 경우에는 DOM을 조작 할 것입니다. 코드 예제를 확인하십시오 - 데이터를 반환 한 모든 jquery ajax 메소드에 콜백이 있습니다. –

    0

    서버 쪽에서는 json으로 인코딩 된 변수를 다시 보낼 수 있습니다.

    echo json_encode(array('text_color', 'green')); 
    

    그런 다음, 클라이언트 측에서, 당신은 콜백 함수에서이 변수에 액세스 할 수 있습니다.

    $.ajax({ 
        url: 'ajax/test.html', 
        dataType: 'json', 
        data: $('yourform').serialize(), 
        success: function(data) { 
         var color = data.text_color; 
         $('yourElement').css('color', color); 
        } 
    }); 
    

    또는 클래스를 다시 보내서 해당 클래스에 요소를 추가 할 수 있습니다.