黑马程序员技术交流社区

标题: js文件中如何获得控件的id [打印本页]

作者: 史鹏飞    时间: 2013-4-18 15:04
标题: js文件中如何获得控件的id
本帖最后由 史鹏飞 于 2013-4-22 07:33 编辑

<asp:TextBox ID="TxtName" runat="server" Text="张三"></asp:TextBox>
我想在js文件中获得TextBox的id,怎么办?

作者: 陈帅    时间: 2013-4-18 15:09
TextBox.ClientID 可以不~~
作者: 史鹏飞    时间: 2013-4-18 15:16
陈帅 发表于 2013-4-18 15:09
TextBox.ClientID 可以不~~

这个只能在*.aspx页面上用,我想在单独的js文件中使用,难道只能在页面上获得后,再通过参数的方式,传到js文件中吗?
作者: 石国庆    时间: 2013-4-18 15:34
史鹏飞 发表于 2013-4-18 15:16
这个只能在*.aspx页面上用,我想在单独的js文件中使用,难道只能在页面上获得后,再通过参数的方式,传到 ...

怎么传参,参数传入js文件??
作者: 石国庆    时间: 2013-4-18 15:35
史鹏飞 发表于 2013-4-18 15:16
这个只能在*.aspx页面上用,我想在单独的js文件中使用,难道只能在页面上获得后,再通过参数的方式,传到 ...

写那种带参数的方法不行吗?在前台调用 方法,就传到后台了
作者: 史鹏飞    时间: 2013-4-18 15:50
本帖最后由 史鹏飞 于 2013-4-18 15:53 编辑
石国庆 发表于 2013-4-18 15:35
写那种带参数的方法不行吗?在前台调用 方法,就传到后台了

我只是想在js文件中添加一个方法,验证TextBox是否为空,这里有很多(13个)个TextBox,该怎么写?,难道这个方法要13个参数吗?
作者: 张正强    时间: 2013-4-18 16:14
使用JS调取服务器控件的Id可以使用var txdat=document.getElementById('<%=txtName.ClientID %>');
作者: 石国庆    时间: 2013-4-18 17:32
张正强 发表于 2013-4-18 16:14
使用JS调取服务器控件的Id可以使用var txdat=document.getElementById('');

这个方法貌似只能在页面上js代码获取 js文件里边获取不了
作者: 石国庆    时间: 2013-4-18 17:47
那你在相应的引用页面写这样的方法
function GetBtnId(){
   return document.getElementById("<%btn.ClientID%>").id;
}

在引用的文件里面方法直接这样写
function Alert(){
  var id = GetBtnId();
}

你可以把判断是否为空的check函数写在js文件中,然后在前台页面在写一个函数,循环获得控件的id,调用js中的check函数
作者: 陈志盟    时间: 2013-4-19 05:42
看了你上面的需求,可以在页面中,写一个方法来生成个访问器把客户端的ID传到js文件中使用,
例:
<script type="text/javascript">
function getClientId() {
var ClientId= '<%= TxtName.ClientID %>';
return {Id1:ClientId}; //生成访问器
}
</script>
<script type="text/javascript" src="JScript.js"></script>//用来引用js文件

这些在*.aspx中写

function ChangeText(){
var btn=document.getElementById(getClientId().Id1);
btn.value="from extended js";
}
这些写在JScript.js文件中
作者: 胡化敏    时间: 2013-4-19 08:04
var txdat=document.getElementById('<%=TxtName.ClientID %>');




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2