2010-05-12 6 views
1

jQuery를 Symfony 1.3.2와 함께 사용하고 있습니다.jQuery를 사용하여 Symfony 양식 게시

양식의 제출 단추 클릭 이벤트를 jQuery와 함께 등록하여 jQuery가 서버에서 올바른 조치를 취하도록합니다.

내 코드는 다음과 같습니다

$(document).ready(function(){ 
    $('#form_btn').click(function(){ 
    $.ajax({'type': 'POST', 'url': '/form_handler.php' }); 
    }); 
}); 

그러나 (아마도 놀랍지 - 내가 어떤 데이터를 전송하지 않았기 때문에), 서버 끝에, 거기에는 POST 변수가없는 양식 필드는 사용할 수 없습니다. 예를 들어

:

$request->getParameter($this->form->getName()); 

NULL을 반환합니다.

jQuery를 사용하여 Symfony 양식을 게시하는 방법을 아는 사람이 있습니까?

[편집] 심포니에 익숙하지 않은 사람들을 위해

, 내가 여기에 요청하고 무엇이 jQuery를 사용하여 양식 값을 게시하는 방법이다.

+0

것 그들은 여전히 ​​작동 할 입력 중 하나에서 입력을 누르십시오. – SeanJA

+0

@SeanjA : 정보 주셔서 감사합니다. – morpheous

답변

1

당신은 var에 form_data이 입력 요소의 값은 어디

$.ajax({'type': 'POST', 'url': '...', 'data': form_data }); 

처럼 아약스() 호출에 뭔가를 양식의 모든 입력 필드를 추가 할 필요가 -을 얻는 방법에 여기 참조 : Obtain form input fields using jQuery?

예 당신은 오히려 그렇다면 버튼의`button.click`보다`form.submit` 행동에 그것을해야

var form_data = $('#myForm').serialize(); 
+0

+1. 빠른 응답을위한 감사합니다. 지금 보냈던 링크를 읽었습니다 – morpheous

+2

var form_data = $ ('# myForm'). serialize(); – SeanJA

+1

예, serialize()를 사용해야합니다 ... Symfony 1.3/1.4의 대안은 Ajax 양식 제출을 처리하는 submit_to_remote 메소드가있는 sfJQueryReloadedPlugin을 사용하는 것입니다. 나는 개인적으로 직접 쓰고 싶다. 지금하고있는 것처럼. 플러그인에는 약간의 오버 헤드가 있습니다. – Tom