我想把返回值赋给一个隐藏的表单,但是表单加了runat=server后,javascript好像就找不到了,代码如下:
string javascriptString = "<script language=javascript>var aa=window.prompt('";
javascriptString += "请输入新文件名:','";
javascriptString += "" + filename + "');document.all(\"rename\").value==aa;<";
javascriptString += "/script>";
Response.Write(rename.Value);………………<input id=rename type=hidden runat=server />
不知道这样的思路对不对,或者有什么其他的方法得到prompt的输入值,谢谢

解决方案 »

  1.   

    但是javascript提示缺少对象,应该该怎么改?
      

  2.   

    这样子好象不行!因为你现在的这一段代码很显然是在后台里面执行的,只是用response.write 把它输入到页面上。但是,你要知道,在你输入response.write之前,<input id=rename type=hidden runat=server />还并未在页面上加载。所以,这样是不行的。有一种方法可以试试,你用一个全局变量保存你想要的返回值。然后,在前台里面,每次执行的时候,直接用<%=re_value%>给隐藏控件。
      

  3.   

    string javascriptString = "<script>var aa=window.prompt('";
    javascriptString += "请输入新文件名:','";
    javascriptString += "" + filename + "');document.GetElementById(\"rename\").value=aa;<";
    javascriptString += "/script>";Response.Write (javascriptString);
    Response.Write(rename.Value);
    这个是可以的
      

  4.   

    在aspx页<body onload="load()" ...
    string javascriptString = "<script>var aa=window.prompt('";
    javascriptString += "请输入新文件名:','";
    javascriptString += "" + filename + "');function load(){document.GetElementById(\"rename\").value=aa;}<";
    javascriptString += "/script>";Response.Write (javascriptString);
      

  5.   

    最终版本在aspx页<body onload="load()" ...
    string javascriptString = "<script>var aa=window.prompt('";
    javascriptString += "请输入新文件名:','";
    javascriptString += "" + filename + "');function load(){document.getElementById(\"rename\").value=aa;}<";
    javascriptString += "/script>";Response.Write (javascriptString);
      

  6.   

    最终版本在aspx页<body onload="load()" ...string filename = "aa.htm";
    string javascriptString = "<script>var aa=window.prompt('";
    javascriptString += "请输入新文件名:','";
    javascriptString += "" + filename + "');function load(){document.getElementById(\"rename\").value=aa;}<";
    javascriptString += "/script>";Response.Write (javascriptString);
      

  7.   

    思路错误,前面的都没错,不过取这个隐藏域hidden的值必须和前面的分开在不同的执行过程以便客户机向服务器提交信息。比如放在某个按钮点击的事件中(服务器端事件)另外javascript的赋值语句=写错为==
      

  8.   

    string filename = "aa.htm";
    string javascriptString = "<script>var aa=window.prompt('";
    javascriptString += "请输入新文件名:','";
    javascriptString += "" + filename + "');function load(){document.getElementById(\"rename\").value=aa;}<";
    javascriptString += "/script>";
    RegisterClientScriptBlock ("clientScript", javascriptString )酱紫
      

  9.   

    to adminyao(程序傻子):
    你说的全局变量的方法,我不太明白,能给个例子吗?to pinnacle897(pinnacle)和kakau(全身腿疼):
    你们的都可以实现,但是因为我的语句是在按钮点击的时候执行的,在点击之前,会提示javascript错误,因为第一次body onload的时候没有load()这个函数,我自己试了半天,还是没想到别的方法
      

  10.   

    document.all(\"rename\").value==aa????????