我是做ASP.NET开发的
在按钮有一个onClientClick事件是来用客户点击时执行的
一般我有:<asp:Button ID="btn" runat="server" Text="询问" OnClientClick="return confirm('真的要删除吗');" />以上是用户单击后提示用户是否要执行的
但是改为ymPrompt
就是<input type="button" value="询问信息" onclick="ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,function(tp){if(tp='ok'){document.document.getElementById('btn').click()}})" />
<asp:Button ID="btn" runat="server" Text="询问" style="display:none" />因为ymPrompt.confirmInfo执行的时候,程序并不会停止,但这个时间我是要得到结果的时候再继续
好像就没有办法了为像上面我要的功能,最好的办法是怎么做呢
我感觉我的方法不是很好,要多加一个按钮,我想直接在onClinetClick里面去写代码谢谢

解决方案 »

  1.   

    如果想在 ymPrompt.confirmInfo 函数的前面执行 ,那么只需要写一个语句在 ymPrompt.confirmInfo 的前面就可以了,例如onclick = "alert('ok');ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,function(tp){if(tp='ok'){document.document.getElementById('btn').click()}})"那么肯定先弹出 ok
      

  2.   

    RE:楼上的,你会错意吗了
    我的意思是
    ymPrompt不能写得像
    if(confirm("继续吗"))
    {
    //true
    }
    else
    {
    //false
    }
    所以我原来的onClientClick="return confirm('继续吗')"
    就只能分成两步来写,
      

  3.   

    <input type="button" value="询问信息" OnClientClick ="ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,function(tp){if(tp='ok'){return ture;}else{reurn false;}})" />
      

  4.   

    那要取决于confirmInfo 函数有没有返回值,并且返回值为:true 或者 false
      

  5.   

    这样是不行的
    因为调用ymPrompt.confirmInfo的时候,js的程序还是在继续执行,
    而不会像confirm一样程序会停下来等待用户确认
    所以你后面的
    function(tp){if(tp='ok'){return ture;}else{reurn false;}}
    你还没有点击的时候按钮已经提交了
      

  6.   

    ======================
    不是!
    你用onclick 当然会提交了
    在asp.net中。你用OnClientClick 先验证js,如果js  返回true了,才能提交啊
    返回false就不会执行onclick事件,所以,你先在js里判断啊
      

  7.   


    楼主很较真http://www.scriptlover.com/agent/?url=/controls/prompt/index.html你可以参考一下 ,里面如果有你需要的 ,你可以查看下源码,对照着做修改就可以了
      

  8.   

    问题是,
    如js
    function()
    {
       confirm("哈哈")
       alert("哈")
    }
    这个程序,他会选弹出"哈哈"你点了他就才执行alert弹出"哈"
    但是ymPrompt就是
    function()
    {
       ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,function(tp){if(tp='ok'){return ture;}else{reurn false;}}); 
       alert("哈")
    }
    他在弹出confirmInfo"信息确认框功能测试"的时候他还会再弹出alert
    也就是说ymPrompt后面的代码不会由ymPrompt做出反映后再执行
    那么你的:
    ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,function(tp){if(tp='ok'){return ture;}else{reurn false;}})
    因为他是继续执行的,所以ASP.NET的onClientClick就默认返回true向服务器提交谢谢
    所以我现在只能用<input id="Button2" type="button" value="button" onclick="JerryPrompt.confirmInfo('信息确认框功能测试',null,null,null,function(tp){if(tp=='ok'){document.getElementById('btn').click();}})" />
    <asp:Button ID="btn" runat="server" Text="Button" onclick="Button1_Click" style="display:none" />这种方法
    我想问一下,我这方法还能不能再改进点谢谢
      

  9.   

    ===========
    小淡同学,楼主有这个页面,不过不是scriptlover上的
      

  10.   

    这样是也可以达到效果,但我不明白,为什么
    function() 

      ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,function(tp){if(tp='ok'){return ture;}else{reurn false;}}); 
      alert("哈") 
    } return 不起作用!!!如果confirmInfo真不起作用的话,只能这样写了
      

  11.   

    哈哈,既然他没有这个功能的话那我就这样写了
    感觉 楼上各位牛人当然更要感谢myPrompt
    实在是太牛了
      

  12.   

    这个问题 我也碰到过 已解决 具体请到我的bolg 里面去看效果和code
    blog.sina.com.cn/actionhou
      

  13.   

    人家这里面说的很清楚了,怎么还在那里染浆糊呢↓
    http://blog.sina.com.cn/s/blog_60fadc6b0100mdc6.html