当前位置:编程学习 > C#/ASP.NET >>

javascript怎样获得控件textbox和隐藏域的值

像document.getElementbyId( "TextBoxID ").value 和document.getElementbyId( " <%=   TextBox1.ClientID%> ").value 这两种方法根本行不通,不知是什么原因。
--------------------编程问答-------------------- 哪个高手回答一下啊 --------------------编程问答-------------------- debugger
加断点调试一下 --------------------编程问答-------------------- 把全部代码贴出来看看 --------------------编程问答-------------------- document.getElementbyId("<%= TextBox1.ClientID%> ").value 
检查页面源码控件ID
--------------------编程问答--------------------
引用 4 楼 wuyq11 的回复:
document.getElementbyId("<%= TextBox1.ClientID%> ").value 
检查页面源码控件ID

document.getElementbyId("<%=TextBox1.clientID%>").value 正解啊! --------------------编程问答-------------------- 显示不出来啊 --------------------编程问答-------------------- document.getElementbyId( "TextBoxID ").value 和document.getElementbyId( " <%= TextBox1.ClientID%> 
是By, 不是by, 区分大小写,建议楼主用firefox+firebug调试javascript
document.getElementById( "TextBoxID ").value  --------------------编程问答-------------------- 就是alert(document.getElementbyId("<%=TextBox1.clientID%>").value )也没用啊 --------------------编程问答-------------------- alert(document.getElementbyId("<%=TextBox1.clientID%>"))得出的是null值啊 --------------------编程问答-------------------- 哪个高手来解决下啊 --------------------编程问答-------------------- 就是firefox 中的 firebug,请试用一下,九成能解决问题 --------------------编程问答-------------------- document.getElementById( "TextBoxID ").value 和document.getElementById( " <%= TextBox1.ClientID%> 是By而不是by,改过来之后,这两种情况就都能用了! --------------------编程问答-------------------- 楼上应该是正解吧,我觉得是你大小写的问题,另外你可以在生成的页面中看下生成的html控件的ID是不是“TextBoxID” --------------------编程问答-------------------- 就是ID不正确的问题,右击查看页面源代码,找到正确的ID即可 --------------------编程问答-------------------- 看生成后源码, 有没有 TextBox 对应的标签 --------------------编程问答-------------------- 注意大小写吧! --------------------编程问答-------------------- 注意大小写,还有你看下源码中控件的id! --------------------编程问答--------------------
引用 17 楼 gdk123 的回复:
注意大小写,还有你看下源码中控件的id!

+1 --------------------编程问答-------------------- 大小写问题 --------------------编程问答-------------------- 这样吧,先把你页面运行出来,看在html里面 的Id 是什么,复制那个ID 在 js里面引用document.getElementById("htmlID").value

百分百可以获取到。 --------------------编程问答--------------------    document.getElementById("ctl00_ContentPlaceHolder2_list2").options.length = 1;

看到没,我原页面写的id=list2 解析到html 后成了 上面括号里的ID 。 --------------------编程问答-------------------- 嗯,同意楼上! --------------------编程问答-------------------- 改变值的时候  放入值去一个隐藏域 --------------------编程问答-------------------- 同意大小写的意见,我也是经常这样。注意英文的拼写就OK了。。。 --------------------编程问答-------------------- 最直白的就是看生成的页面的源码, 一看就明白了。。。。
要不就用Jquery算了, 反正来个 input[id*=xxx] 或者是包含之类的方法都可以获取到。  --------------------编程问答-------------------- 右击看网页源代码,看看控件ID --------------------编程问答-------------------- 我倒感觉不应该是大小写问题,在vs里document.getElementById 写document.会有提示吧

楼主还是debug下 --------------------编程问答--------------------
引用 21 楼 sharpdevelop110 的回复:
document.getElementById("ctl00_ContentPlaceHolder2_list2").options.length = 1;

看到没,我原页面写的id=list2 解析到html 后成了 上面括号里的ID 。

我在源文件那里看id是ctl00_ContentPlaceHolder1_TextBox1,不过写document.getElementById("ctl00_ContentPlaceHolder1_TextBox1")仍然不行啊! --------------------编程问答-------------------- 还有 document.getElementById('<%=ctl00_ContentPlaceHolder1_TextBox1>');也不行啊, --------------------编程问答-------------------- 哪个高手看下原因,各种方法都试过了 --------------------编程问答-------------------- 贴你的JS代码 --------------------编程问答--------------------
引用 31 楼 arthur080319 的回复:
贴你的JS代码

var time = document.getElementById('<%=ctl00_ContentPlaceHolder1_TextBox1.ClientID%>');
alert(time);
var maxtime = time*60; //  
function CountDown(){    
 if(maxtime>=0){
   
      MSG =document.getElementById("msg");
      hours = Math.floor(maxtime/3600)  
      minutes = Math.floor(maxtime/60)-hours*60;    
      seconds = Math.floor(maxtime%60);    
      MSG.innerHTML = ""+hours+"时"+minutes+"分"+seconds+"秒"; 
 if
 (maxtime == 5*60)
 alert('注意,还有5分钟!');    
 --maxtime;    
 }    
 else{    
clearInterval(timer);    
alert("时间到,结束!");    
 }    
}    
timer = setInterval("CountDown()",1000);    

           
</script>
下面是源文件:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
<span ><b id="msg"></b></span> 

--------------------编程问答-------------------- 哪位高手帮帮忙啊 --------------------编程问答-------------------- var time = document.getElementById('<%=ctl00_ContentPlaceHolder1_TextBox1.ClientID%>');??
你确定你这句话没有问题?
--------------------编程问答--------------------
引用 34 楼 arthur080319 的回复:
var time = document.getElementById('<%=ctl00_ContentPlaceHolder1_TextBox1.ClientID%>');??
你确定你这句话没有问题?

哪里有问题?
var time = document.getElementById('<%=ctl00_ContentPlaceHolder1_TextBox1.ClientID%>')
var time = document.getElementById('<%=TextBox1.ClientID%>');
var time = document.getElementById('TextBox1.ClientID').value;
var time = document.getElementById('TextBox1.ClientID');
这几种我全试过了,还是不行 --------------------编程问答-------------------- =.=
var time =document.getElementById('ctl00_ContentPlaceHolder1_TextBox1').value; --------------------编程问答-------------------- var time = document.getElementById('<%=ctl00_ContentPlaceHolder1_TextBox1.ClientID%>')
//第一句错的太离谱了。。我不说啥了

//没.value
var time = document.getElementById('<%=TextBox1.ClientID%>');
//没<%= %>
var time = document.getElementById('TextBox1.ClientID').value;
//没<%= %> 没value
var time = document.getElementById('TextBox1.ClientID');
--------------------编程问答-------------------- 用Jquery吧,选择ID简单点 --------------------编程问答-------------------- var time =document.getElementById("ctl00_ContentPlaceHolder1_TextBox1").value;
或者
var time = document.getElementById("<%=TextBox1.ClientID %>").value;
这样不可以吗?
--------------------编程问答--------------------
引用 39 楼 lass_name 的回复:
var time =document.getElementById("ctl00_ContentPlaceHolder1_TextBox1").value;
或者
var time = document.getElementById("<%=TextBox1.ClientID %>").value;
这样不可以吗?

不行啊,根本就没有value这个属性,而且我也试过了,还是不行 --------------------编程问答-------------------- .value是手写上去的。。。
怎么可能说textbox没有这个属性。。

你在哪给你的text赋值的??
你的JS读出来应该就是空啊 --------------------编程问答--------------------
引用 41 楼 arthur080319 的回复:
.value是手写上去的。。。
怎么可能说textbox没有这个属性。。

你在哪给你的text赋值的??
你的JS读出来应该就是空啊

因为我添加了一个TextBox控件了啊,而且我也定义了控件的值 --------------------编程问答-------------------- 首先看document是不是null,
再试试HTML控件行不行。




最后把源码另存为一个单独HTML页面再调试。



有没有考虑你机器问题,IE坏了之类的,换台机器。


LZ要自己多想想办法?多学习分析问题和如何解决问题。
--------------------编程问答-------------------- 实在不行,把整个网页显示后的HTML源代码粘贴出来 --------------------编程问答--------------------
引用 43 楼 tengjian1981 的回复:
首先看document是不是null,
再试试HTML控件行不行。




最后把源码另存为一个单独HTML页面再调试。



有没有考虑你机器问题,IE坏了之类的,换台机器。


LZ要自己多想想办法?多学习分析问题和如何解决问题。

document.后面有提示,应该不是null,我也换过机器了,还是不行 --------------------编程问答--------------------
引用 45 楼 fongfong12 的回复:
document.后面有提示,应该不是null,我也换过机器了,还是不行


提示什么? --------------------编程问答--------------------
引用 46 楼 arthur080319 的回复:
引用 45 楼 fongfong12 的回复:

document.后面有提示,应该不是null,我也换过机器了,还是不行


提示什么?

就是打了document.就会有getElementById这个属性出现了 --------------------编程问答-------------------- 咳,帅哥,你头一回用JS吗 --------------------编程问答--------------------
引用 48 楼 arthur080319 的回复:
咳,帅哥,你头一回用JS吗

很少用啊 --------------------编程问答-------------------- 在页面套用了母版的前提下才使用<%= objid.ClientID %> 单个页面直接用ID找也是可以找到的,LZ用的方法从理论上讲是对的,可能是哪里没细心到。仔细核对下代码。 --------------------编程问答--------------------
引用 50 楼 begintransaction 的回复:
在页面套用了母版的前提下才使用<%= objid.ClientID %> 单个页面直接用ID找也是可以找到的,LZ用的方法从理论上讲是对的,可能是哪里没细心到。仔细核对下代码。

是用了母版页,不过我看了一些建议,说document.getElementById("<%=ctl00$ContentPlaceHolder1$TextBox1.ClientID%>");或者是document.getElementById("<%=ctl00$ContentPlaceHolder1$TextBox1.ClientID%>").value这样行,但我也试过了,不行 --------------------编程问答-------------------- 烦死了,各位大大还有什么建议啊, --------------------编程问答-------------------- 在页面套用了母版的前提下才使用<%= objid.ClientID %> 单个页面直接用ID找也是可以找到的,LZ用的方法从理论上讲是对的,可能是哪里没细心到。仔细核对下代码。 --------------------编程问答-------------------- <script language="javascript" type="text/javascript">
    String.prototype.lenB = function () { return this.replace(/[^\x00-\xff]/g, "**").length; }
    String.prototype.trim = function () { return this.replace(/(^[\s]*)|([\s]*$)/g, ""); }
    function  CheckForm() {
        var rname = document.getElementById('RealName').value.trim();
        var phone = document.getElementById('mobile').value.trim();
        if (rname == '') {
            alert("请输入您的姓名!");
            return false;
        }
        
        if (phone == '') {
             alert("请输入您的电话!");
            return false;
        }
       return true;      
            
    }
</script>


///body部分
      <TABLE cellSpacing=0 cellPadding=0 width=565 align=center border=0>
        <TBODY>
        <TR>
          <TD width=100 height=25 align="right"><SPAN class=red>*</SPAN>姓名:</TD>
          <TD width=465><INPUT class="btn1" id="RealName" 
            name="RealName" type="text" runat="server"/></TD></TR>
        <TR>
          <TD height=25 align="right"><SPAN class=red>*</SPAN>手机号码:</TD>
          <TD><SPAN class=Grey><INPUT class=btn1 id="Mobile" name="Mobile" type="text" runat="server" /> 
          </SPAN></TD></TR>
<TR>
          <TD colSpan=2 align="center"><%--<IMG height=25 src="" width="109" onclick="submit_Click" runat="server">--%>
          <asp:ImageButton ID="imgSubmit" ImageUrl="images/on.gif" onClientClick="return CheckForm();"  onclick="imgSubmit_Click"  runat="server" />
         
          </TD>
        </TR></TBODY></TABLE>


///后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebSite.Common;

public partial class tuiguang : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //imgSubmit.Attributes.Add("onmouseover", "return CheckForm()");
        //imgSubmit.Attributes.Add("onClick", "return CheckForm();");
        //Page.RegisterStartupScript("CheckForm", "<script>CheckForm();</script>");
    }

    protected void imgSubmit_Click(object sender, ImageClickEventArgs e)
    {
        
        Response.Write("<script>alert('已经进入后台了!');</script>");
    }
} --------------------编程问答-------------------- $("#text_Id").val(); --------------------编程问答-------------------- 看完源在说。 .net会改变原值 --------------------编程问答-------------------- 用web控件
<asp:HiddenField ID="hideValue" runat="server" />
或html控件
<input id="hideValue" type="hidden" runat="server" />
--------------------编程问答-------------------- 你是不是用模版页了,控件的ID 会有变化的 如果是服务器端控件 属性加上clientidmode="static"
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,