2014-03-13 4 views
1

제출 버튼 대신 MessageBox의 "ok"버튼을 제출 버튼으로 사용하고 싶습니다. 이것은 ColdFusion에서 수행하고자하는 작업입니다.MessageBox 확인 작업을 제출 버튼으로 사용

다음은 중요한 코드만을 보여주는 예입니다. 기본적으로 사용자가 '아니요'를 클릭하면 아무 일도 일어나지 않지만 사용자가 '예'를 누르는 경우 제출 버튼으로 등록해야합니다. 나는 튜토리얼과 ColdFusion 서적을 읽었으며 내가 찾고있는 것을 찾을 수없는 것 같습니다.

저는 콜백 핸들러와 관련이 있다는 것을 알고 있습니다.

<HTML> 
<Head> 
    <script type="text/javascript"> 

     //Function to show results of other message boxes. 
     var showResult2 = function(btn){} 

     //The button onClick handler displays the message boxes. 
     function showMB(mbox) { 
      ColdFusion.MessageBox.show(mbox); 
     } 
    </script> 
</Head> 
<Body> 

    <cfform action="PlatinumTest.cfm" method="post"> 


    <cfinput name="Comfirmation" type="Submit" value="Submit" 
      onclick="showMB('mymessagebox02')"> 


    <cfmessagebox name="mymessagebox02" type="confirm" 
      message="Are you sure you want to submit?" 
      labelNO="No" labelYES="Yes" 
      callbackhandler="showResult2"/> 

</body> 
</HTML> 
+0

CFFORM에 ID를 제공해야합니다. 그런 다음 showResult2에서 document.getElementById ("myForm"). submit();을 수행하면됩니다. 최소한 showResult2의 JavaScript 경고()를 실행하여 콜백 처리기가 해당 기능을 실행하는지 확인하십시오. –

+0

cfinput 유형을 제출에서 버튼으로 변경하고 조언에 더하여 예에 대한 if 문을 추가하고 작동하는 기능을 알고 있습니다. 그러나 나는 또 다른 질문을 가지고있다. 객체가 제출 버튼이 아니기 때문에 빈 테스트 상자 객체에 대한 오류 메시지가 더 이상 나타나지 않습니다. 예를 들어 나는이 코드가있는 텍스트 박스를 가지고있다. '. 이 물체에 대한 경고 메시지가 아직 남아 있습니까? –

+2

간단한 jquery 알림 상자를 사용해 보시지 않겠습니까? – fyroc

답변

2

스코틀랜드는 COLDFUSIONUI를 사용하지 않는다고 말했습니다. 나는 ColdFusion이 UI 라이브러리를 업데이트 할 때 시간이 지남에 따라 불안정해질 수 있기 때문에 모자를 쓰고 있습니다. 또한 CFIDE를 자신이 싫어하는 가상 디렉터리로 추가해야합니다.

가장 좋은 방법은 JQueryUI를 사용하는 것입니다. 매우 간단하고 쉽게 할 수 있습니다. 나는 당신에게 예제를 주겠다. 그러나 나는 당신 자신의 코드를 시도해보고 싶다. 차라리 너 자신을 얻고 배우려고.

<HTML> 
    <head> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
     <script type="text/javascript" src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $("body").on('click','#formSubmit',function(e){ 
        e.preventDefault(); 
        var answer = confirm("Are you sure you want to delete this item?"); 
        if (answer){ 
         $("#formTest").submit(); 
        } else { 
         return false; 
        } 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <form action="action_page.cfm" method="POST" id="formTest"> 
      <input name="formSubmit" type="Submit" value="Submit" id="formSubmit"> 
     </form> 
    </body> 
</HTML> 
+0

감사합니다. 텍스트 상자의 "필수"속성을 무시하지 않습니까? –

+0

jQuery validationUI를 사용하여 if/else 문을 추가하거나 함수가 양식을 제출하는 곳에서 고유 한 함수를 작성하기 만하면됩니다. 내 PC에 갈 때마다 게시 한 코드를 업데이트 할 것입니다. – fyroc

+0

드디어 차가운 융합을 더 잘 프로그래밍하는 방법을 보여주는 튜토리얼을 발견했습니다. 나는 프로그래밍해야하는 프로젝트를 위해 Cold Fusion을 비공식적으로 습득해야합니다. 마침내 괜찮은 트레이너를 찾았습니다. messagebox를 터는 대신 페이지 참조를 한 번하고 페이지에 레이블을 표시합니다. 그런 다음 사용자가 동적으로 귀속 된 "예"버튼을 클릭하면 사용자는 제출 페이지로 이동합니다. –

관련 문제