2015-01-22 9 views
0

양식 텍스트 상자에 focusout 이벤트가 있습니다. 텍스트 상자에 포커스가 없으면 확인 상자가 나타나 "확인"또는 "취소"를 요청하십시오.Jquery focus out 이벤트 다음 양식을 제출하십시오

사용자가 확인을 클릭하면 양식이 제출됩니다. 이 작업을 수행하는 방법?

나는이 시도했지만 운이 :

//<![CDATA[ 
$(function(){ 
$('#item_new').focusout(function() { 
confirm("add this item?"); 

     'Confirm submit': function() { 
      currentForm.submit(); 
     }, 
     Cancel: function() { 
      $(this).dialog('close'); 
     } 

}); 
}); 
//]]> 

알려주세요.

답변

0

코드를 분해하면 확인 및 나머지가 전혀 연결되지 않은 것을 볼 수 있습니다.

$('#item_new').focusout(function(e){ 

    // ask the user and keep his/her choice 
    var ok = window.confirm('add this item?'); 

    // here, the 'ok' variable will be 'true' if OK was clicked, 
    // false otherwise 
    if(ok) { 
     // do the submit action. 
     // replace '<id_of_the_form_to_submit>' with the id of the form 
     $('#<id_of_the_form_to_submit>').submit(); 
    } 
}); 

이 jsfiddle를 참조하십시오 : 여기

은 도움이되는 몇 가지 코드 http://jsfiddle.net/arnaudj/c6z44mr9/

편집 : window.confirm 통화가 기본 브라우저 별 확인 팝업 팝업을 당신이 할 수없는 그 것을 노트 스타일로 원하는대로 꾸미세요.

+0

이 작품! 정말 고마워! – Unicorn

+0

nvm, 알았어요!^_^ btw, 제출 작업에 이름과 값을 추가하려면 어떻게해야합니까? 예 : html로 다시 입력하십시오. – Unicorn

+0

jQuery에서 요소의 '속성'을 설정하려면 (여기서는 submit 유형의 입력),'.attr()'메소드를 사용하십시오. DOM 입력 요소에 값을 설정하려면'.val()'메서드를 사용하십시오. '$ ('#의 mySubmitId') ATTR ('이름', 'theNameOfTheButton'). ' '$ ('#의 mySubmitId ') 발 ('요소의 값 ');.이 정보는' [jQuery의 문서] (http://api.jquery.com/) –