2011-10-31 2 views
1

에 버튼을 제출취급이 내가이있는 폼 버튼을 제출해야 evently

<form> 
    ... 
    <input type="submit" name="update" value="Update"></input> 
    <input type="submit" name="clean" value="Clean"></input> 
</form> 

내가, 내가 두 가지 일을해야한다 클릭하는 버튼에 따라. update은 내부 구조에 양식 데이터를 추가하고 clean은 양식과 내부 구조를 정리합니다.

내가 가진 문제는 Evently/jQuery를 사용하여 두 가지 다른 이벤트를 잡을 수 없다는 것입니다. 양식/제출 이벤트를 처리 할 수 ​​있지만 어떤 단추가 눌려 졌는지에 대한 정보는 얻지 못합니다 (jQuery 문서 "단추를 사용하여 양식을 제출하지 않았으므로 제출 단추 값이 직렬화되지 않습니다").

또는 업데이트/클릭 및 정리/이벤트를 잡으려고 시도했지만이를 잡으려고 내 Evently 디렉터리 트리를 구성하는 데 성공하지 못했습니다. 이것은 나의 현재의 구조가 그 이벤트를 잡으려고하는 것입니다

evently/filterconf/_init/ 
evently/filterconf/_init/selectors/form 
evently/filterconf/_init/selectors/form/clean 
evently/filterconf/_init/selectors/form/clean/click.js 
evently/filterconf/_init/selectors/form/update 
evently/filterconf/_init/selectors/form/update/click.js 
evently/filterconf/_init/mustache.html 

하지만 그 click.js가 트리거되지 않습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 또는 Evently에서 두 개의 제출 버튼을 처리하는 완전히 다른 접근 방식을 제안합니까?

답변

0

글쎄, 그냥 아약스 전화를 수행하고 실제로 POST와 함께 전체 양식을 제출하지 않기 때문에, 버튼을 제출하는 버튼이 필요하지 않습니다.

<button id="btn_update" value="Update"></button> 
    <button id="btn_clean" value="Clean"></button> 

을 그리고로 evently 폴더 구조 : : 그냥 할

evently/filterconf/_init 
evently/filterconf/_init/selectors 
evently/filterconf/_init/selectors/#btn_clean/ 
evently/filterconf/_init/selectors/#btn_clean/click.js 
evently/filterconf/_init/selectors/#btn_update 
evently/filterconf/_init/selectors/#btn_update/click.js 

또는 당신의 접근 방식과는 같은 것이다 :

evently/filterconf/_init/선택기/양식/제출 .js

클릭 이벤트가 아닌 제출 이벤트를 첨부합니다. 내가 제출 핸들러에서 serializeObject 작업을 수행 할 때 버튼을 누르면 된 대한 어떤 정보도 없다

function() { 
     var form = $(this); 
     var doc = form.serializeObject(); 
     // ... 
    } 
+0

:

처럼 핸들러가 보일 것입니다 제출합니다. – dangonfast

+0

다른 aproach (#btn_clean, #btn_update)가 작동 중입니다. 나는 $ (this) .parent ("form")'을 사용하여 폼에 접근해야한다. – dangonfast