js 动态生成ID

waiwai1015 2008-12-03 11:50:20
<script language="javascript" type="text/javascript">
<!--
var i=1;
var str;
function File1_onclick(obj) {

var str = "<input id='f"+i+"' type='file' style='width: 200px' runat='server' onpropertychange='Test(this)' onchange='File1_onclick(this)'/>";

alert(str);
i++;
}

// -->
</script>
这段代码说'f"+i+"'不是正确的命名.如果把 runat='server' 去掉就可以了.就可以动态生成id=f1,f2,f3...
我该怎么办.
我现在就想让id=f1,f2,f3...
动态的.
...全文
596 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
varlj 2008-12-03
  • 打赏
  • 举报
回复
runat='server'是ASP.NET在服务器端用的,在本地没有这个属性,也没用,你看一下textobx控件生成静态后的HTML就明白了
cyqlightrain 2008-12-03
  • 打赏
  • 举报
回复
你挺有创意的,JS动态生成.net控件.这样子是不可以的,你必须把runat='server'拿掉,就算加上,你在后台也访问不到你动态添加的控件.
就从页面创建顺序上来说,js就没有办法做到创建服务器控件的.因为它最后运行,而服务器控件要在page_load或者之前就已经创建了才可以的!
lu_huanling 2008-12-03
  • 打赏
  • 举报
回复
这样是可以出来的..呵呵
lu_huanling 2008-12-03
  • 打赏
  • 举报
回复
lz 的代码我是这样试的

<script>

var i=1;
var str;
function File1_onclick(obj)
{

var str = " <input id='f"+i+"' type='file' style='width: 200px' runat='server' onpropertychange='Test(this)' onchange='File1_onclick(this)'/>";

alert(str);
i++;
}

File1_onclick();
File1_onclick()
</script>


我是直接浏览的没有用什么服务器.
waiwai1015 2008-12-03
  • 打赏
  • 举报
回复
你真试了呀.我后来把你传的这个代码又试了下.都提示f'+i+'不是提示符.
happy002 2008-12-03
  • 打赏
  • 举报
回复
 <input type="button" value="  " onclick="File1_onclick('a')">
<script language="javascript" type="text/javascript">
<!--
var i=1;
var str;
function File1_onclick(obj) {

var str = " <input id='f"+i+"' type='file' style='width: 200px' runat='server' onpropertychange='Test(this)' onchange='File1_onclick(this)'/>";

alert(str);
i++;
}

// -->
</script>

我试了一下你的代码,可以啊,alert出来的是f1,f2,f3....
waiwai1015 2008-12-03
  • 打赏
  • 举报
回复
runat='server'这句话我得必须留着.要不后台不能引用了.

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧