需要用ajax取回是否一有人申请,如果没有则执行newapply否则询问之后再判断是否执行.

解决方案 »

  1.   

    注册confirm脚本吗?但是注册后怎么再Newapply()呢?能说具体一点吗?谢谢ps:ajax没怎么接触,大家可以说下非ajax方法吗?谢谢
      

  2.   

    非ajax的方法比较麻烦一些,你可以先提交页面,在服务器上检查,如果有人也在申请,返回confirm,执行,点了确认,就再提交一次页面
      

  3.   

    不用ajax,那就用隐藏帧撒 ,那个直接相当于帧页面提交了一次,然后帧中返回页面提示相关信息就可以了!
      

  4.   

    楼上能说清楚点吗?是不是用一个隐藏button实现?谢谢
      

  5.   

    我把类似的代码放上来: 
    类似功能:一个textbox1,一个butoon1,一个button2 
    textbox1值为1的话就弹出confirm(),确定的话就把confirm改为ok 
    textbox1值为0的话就直接把confirm改为ok 按照你的方法的话,结果textbox1值为1时没弹出confirm().... 
    页面代码: 
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > 
    <head runat="server"> 
         <title>无标题页 </title> 
         <script language =javascript> 
        function c1() 

    if(confirm('已经有人正在申请同样的物资,是否继续申请?')) 

    document.getElementById('Button2').click();//这个按钮用来提交申请,在页面上不要显示出来 


         
         </script> 
    </head> 
    <body> 
         <form id="form1" runat="server"> 
         <div> 
             <asp:TextBox ID="TextBox1" runat="server"> </asp:TextBox> 
             <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 
             <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" /> </div> 
         </form> 
    </body> 
    </html> 
    cs代码: 
    using System; 
    using System.Data; 
    using System.Configuration; 
    using System.Web; 
    using System.Web.Security; 
    using System.Web.UI; 
    using System.Web.UI.WebControls; 
    using System.Web.UI.WebControls.WebParts; 
    using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page  

        protected void Page_Load(object sender, EventArgs e) 
        { 
            //Button1.Attributes.Add("onclick", "return confirm('fdsfd');"); 
        } 
        protected void Button1_Click(object sender, EventArgs e) 
        { 
            if (TextBox1.Text == "1") 
                Response.Write("  <script>c1();  </script>"); 
            if (TextBox1.Text == "0") 
                TextBox1.Text = "ok"; 
        } 
        protected void Button2_Click(object sender, EventArgs e) 
        { 
            TextBox1.Text = "ok"; 
        } 

    然而document.getElementById('Button2').click();这句好像没有触发按钮的click()事件啊
      

  6.   

    谢谢楼上,还有的就是 Response.Write("   <script>c1();   </script>");  这句可以调用客户端c1()吗?
    我改了试一下:
    页面代码:
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <script language =javascript>
        function c1()
    {
    return confirm("已经有人正在申请同样的物资,是否继续申请?");}
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
            <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" /></div>
        </form>
    </body>
    </html>cs代码:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //Button2.Attributes.Add("onclick", "return confirm('fdsfd');");
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            //if (TextBox1.Text == "1")
            Response.Write("<script>c1();</script>");
                //Button2.Click();
            //if (TextBox1.Text == "0")
               // TextBox1.Text = "ok";
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            TextBox1.Text = "ok";
        }
    }
    这样的话点击button1的时候通过Response.Write("<script>c1();</script>");调用c1()从而弹出confirm();但是结果button1点击的时候没有弹出confirm啊
      

  7.   

    再喊一下,怎么弄到服务器根据情况判断是否弹出confirm,弹出confirm的话接着怎么根据确定和取消进行操作...没力喊了...
      

  8.   

    需要用ajax取回是否一有人申请,如果没有则执行newapply否则询问之后再判断是否执行.
      

  9.   

    http://topic.csdn.net/u/20080301/17/dc0267b9-7b70-4da7-a2fd-3f1262e9a276.html
      

  10.   

    下面的代码实现了你的目的,结帖吧:
    <%@ Page Language="C#" %>
    <%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Untitled Page</title>
        <script language="C#" runat="server">
            public void Page_Load(object sender, EventArgs e)
            {
                btn1.Style["display"] = "none";
            }
            
            public void Click1(object sender, EventArgs e)
            {
                Response.Write("提交了!");
            }
            
            // 实现接口
            public string m_CallbackResult;
            public string GetCallbackResult()
            {
                return m_CallbackResult;
            }        public void RaiseCallbackEvent(string eventArgument)
            {
                // 这里做你的判断
                if(eventArgument == "you")
                {
                    m_CallbackResult = "0";// 已经有人正在申请同样的物资
                }
                else
                {
                    m_CallbackResult = "1";// 没有人正在申请同样的物资
                }
            }
        </script>
        <script type="text/javascript" src="prototype.js"></script>
        <script type="text/javascript">
            function CallServer(){
                var arg = document.getElementById("txt1").value;
                <%=ClientScript.GetCallbackEventReference(this, "arg", "JsRecieve", null) %>
            }
            
            function JsRecieve(ret){
                if(ret == "0"){
                    if(confirm("已经有人正在申请同样的物资,继续吗?")){
                        document.getElementById("btn1").click();
                    }
                }else
                    document.getElementById("btn1").click();
            }        function SubmitCheck(){
                CallServer();
                return false;
            }
        </script>
    </head>
    <body>
        <form id="Form1" runat="server">
            <asp:TextBox ID="txt1" runat="server"></asp:TextBox>
            <input type="button" onclick="SubmitCheck()" value="test" />
            <asp:Button ID="btn1" runat="server" OnClick="Click1" Text="test" />
        </form>
    </body>
    </html>