现在HTML层里有一个JAVASCRIPT函数  Full() 如下:
<script language="javascript">
function Full()
{
         if (document.RealAudio1.GetPlayState()==3)
{
 return true;
}
         else
         {
return false;
}
}
</script>首先问这样写语法对吗(javascript不是太熟悉),判断后能返回true或false的值吧.cs层中设置变量获取上面哪个Full()函数的值该怎么写????
请各位指教!!!

解决方案 »

  1.   

    Button4.Attributes.Add("onclick","return Full()");
    必须将函数附加在一个控件上
      

  2.   

    CS在后台啊 它根本不能得到你前台脚本的数据,
    你要得到前台产生的数据,需要通过页面上某个服务器控件POSTBACK回来的时候带回来。比如你的页上加一个  TEXTAREA  作为服务器控件运行,  客户脚本产生的结果 写到TEXTAREA里  通过回传 交给服务器,  如果不想用户看到这个TEXTAREA  就把它隐藏起来。明白?
      

  3.   

    Button4.Attributes.Add("onclick","return Full()");
    必须将函数附加在一个控件上这样我没试过呢呵呵 不过我记得以前有个类似的情况  BUTTON 的 ONSERVERCLICK  和ONCLICK公存的时候 常有些问题呢
    呵呵 
    回去试下
      

  4.   

    但是我的意图是用这个函数来判断HTML里的一个OBJECT控件的运行状态,并且要使用定时器来对运行状态进行监控,计时器中要间隔N毫秒检测一次Full()这个函数返回的值,一但为TRUE,执行后台的SQL数据库操作,把这个函数的返回值附加到控件的ONCLICK事件上的话,那企不是每次都要点击一次BUTTON按纽才会返回值?可不可以不用操作就可以得到Full()的值呢?
      

  5.   

    Button1.Attributes.Add("onclick","return Full()");
    bool tag = Convert.ToBoolean(Button1.Attributes["onclick"]);这样获取值行吗,各位高手帮忙看下啊!!
      

  6.   

    gw9842(天若有晴~) ,
    你可以在后台写一段js代码。
      

  7.   

    用RegisterStartupScript(,)试试。
      

  8.   

    rall(此人)  大侠请指教,不明白。。
    其实主要是HTML里有个OBJECT是REAL PLAYER的控件,无法在后台实例化,只能在HTML 里写JAVASCRIPT
    函数来取得REAL的运行状态
      

  9.   

    如果无法在后台.cs里使用控件的话,那只能在JAVASCRIPT函数里取控件的状态了,HTML是可以使用REAL PLAYER控件的函数的
      

  10.   

    <script language="javascript">
    function Full()
    {
             if (document.RealAudio1.GetPlayState()==3)
    {
     //return true;
              form1.readState.value = 'true';
              form1.submit();
    }
             else
             {
    return false;
    }
    }
    </script>
    这是将你返回真值的代码更改一下,更改为先将值赋给一个隐藏域保存,再执行提交,将数据提交给后台代码处理。后台再执行你自己的数据库操作。
      

  11.   

    <script language="javascript">
    function Full()
    {
    ……
    <input name=xx type=hidden ranat="server">
    xx.value = ?
    }
    </script>然后引用xx.value就行了
      

  12.   

    lupenda()  ,我按照你的方法写了,但是不成功,显示网页有错误,xx不是对象或为空
    function Full()
    {
    if (document.RealAudio1.GetPlayState()==3)
    {
    document.xx.value = 1;
    }
    else
    {
    document.xx1.value = 0;
    }
    }
    需要加上什么吗,<input type="hidden" runat="server" ID="xx">这句我在了下面的<Form></Form>中
      

  13.   

    <input type="hidden"  name="xx">
    document.xx.value = 1;   改成  document.all("xx").value=1
      

  14.   

    if (!this.IsPostBack)
    {
    initGrid(0);
    Duty_date.Value = publicFunction.getStandardDate(DateTime.Now.ToString());
    Department.Text = Session["DEPARTMENTNO"].ToString();
        Oper.Text = Session["NAME"].ToString();
    Opdate.Text = publicFunction.getStandardDate(DateTime.Now.ToString());
    ImageButton1.Attributes.Add("onclick","javascript:if (!check()) return false;");
    }
    看最后一行,希望对你有帮助!
      

  15.   

    先谢谢各位了!这个值可以取到了,但是延伸出一个问题就是不能使用WEB控件来加载JAVASCRIPT函数,因为你一但点击按钮执行JAVA函数,页面里的OBJECT控件(REAL PLAYER)就会重新加载,所以我想用HTML控件来加载事件,并且我想在.cs里设置1秒触发一次的定时器来
    判断值的变化,一但值为TRUE,就执行数据库操作语句,停止定时器。
      

  16.   

    都是REAL PLAYER控件惹的祸啊,.cs里根本访问不到这个控件,无法对他执行操作
      

  17.   

    其他问题我都解决了,现在就是一个定时器的问题,代码如下:
    Timer timer = new Timer();//实例化计时器private void Page_Load(object sender, System.EventArgs e)
    {
    timer.Interval = 30000;
    timer.AutoReset = false;
    timer.Elapsed += new ElapsedEventHandler(OnTimer);
    timer.Start();
    }protected void OnTimer(Object source, ElapsedEventArgs e)
    {
    if(ifrm.Value=="1")
    {
    ChangePass();   //修改数据库中的用户密码的函数
    timer.Stop();
    timer.Close();   //释放计时器
    }
    else
    {
    Response.Write("<script>alert('密码未修改!');</script>");
    }
    }现在问题是这样的,照上面这样写程序过了30000毫秒后无任何反映,并且ChangePass()也未执行,但是把if结构撤掉,直接改成
    protected void OnTimer(Object source, ElapsedEventArgs e)
    {
    ChangePass();   //修改数据库中的用户密码的函数
    timer.Stop();
    timer.Close();   //释放计时器
    Response.Write("<script>alert('密码已修改!');</script>");
    }改成这段的话数据库中密码会被修改,但是Response.Write("<script>alert('密码已修改!');</script>");执行不到,不知道为什么,非常奇怪???????