2014-03-13 59 views
1

而不是一个提交按钮,我想要一个MessageBox上的“确定”按钮作为提交按钮。这是我想要在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

正如Scott所说不要使用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语句,或者在函数提交表单的位置创建自己的函数。我会更新我上传我的电脑时发布的代码。 – fyroc

+0

我终于找到了一个教程,向我展示如何更好地编程冷聚变。我必须非正式地学习Cold Fusion,因为我必须编写一个项目。我终于找到了一个体面的教练。而不是弹出一个消息框,我有一次页面引用,在页面上弹出一个标签。然后在用户点击动态推测的“是”按钮后,用户被带到提交页面。 –