如何动态的控制一个控件。

realljx 2004-09-20 10:24:11
背景:

我的页面是采用的动态的将标签替换成内容的。
我的页面上有很多层 用来做静态定位的。

我的问题是这样的:

在模板上面 有由一个地方留了 姓名 一块空白 大约5个字左右的大小 但是有的人名 比如新疆人 可能有10个字。 我现在要在页面加载的时候作一个判断,如果姓名的字数超过了5个,就把姓名的字体缩小 并且当文本的长度超过一定大小(像素大小)的时候能够自动换行。

有没有一个这样的控件 能够在页面 onload的时候触发一个事件 执行如上所说的改变 比如说set(this,10) -- 在文本长度大于10的时候改变字号 ?
关键是 页面上面像 姓名这样的东东有很多 其长度限制也不一样 直接在页面的onload的时候执行 又不知那些控件需要改变到何种长度。

我不知到 我的问题说明白没有,请高手千万帮忙。其实就是为了解决套打的问题。
...全文
108 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ouyld 2004-09-20
  • 打赏
  • 举报
回复
动态增加表单域

<%@ Page language="c#" Codebehind="AddControls1.aspx.cs" AutoEventWireup="false" Inherits="Work0915.WebPages.AddControls1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>AddControls1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<SCRIPT LANGUAGE="JavaScript">
<!--
function test()
{
document.all.Num.value =(parseInt(document.all.Num.value.toString())+1).toString();
alert(document.all.Num.value.toString());
var tmp = document.all.Num.value.toString();
var str = "<input type=text maxLength=256 size=30 name='TextName"+tmp+"' value=\"test\">";
str += "<input type=text maxLength=256 size=30 name='TextAge"+tmp+"' value=\"test\">";
str += "<select name='Select1"+tmp+"' ><option value=1>武汉</option><option value=2>上海</option><option value=3>北京</option></select>";
tb1.insertRow().insertCell().innerHTML=str;
//tb1.insertRow().insertCell().innerHTML=
//tb1.insertRow().insertCell().innerHTML="<input type=hidden name=lr value=lang_zh-CN>";
}
//-->
</SCRIPT>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<input type="hidden" id="Num" value="0"> <input type="button" onclick="test()" value="Add">
<table id="tb1">
<tr>
<td><input type="text" maxLength=256 size=30 name=TextName0 value="\"test"\"> <input type="text" maxLength="256" size="30" name="TextAge0" value="\"test"\">
<select name='Select0'>
<option value="1">武汉</option>
<option value="2">上海</option>
<option value="3">北京</option>
</select>
</td>
</tr>
</table>
<input type="submit" name="Search" id="Submit1" value="提交查询内容" runat="server">
</form>
</body>
</HTML>


<INPUT TYPE = "button" VALUE = "+" onclick = "fnAppend()">
<INPUT TYPE = "button" VALUE = "-" onclick = "fnSub()">

<form name=form1>
<input name=txt0>
</form>

</BODY>

语法:
object . add ( oElement , iIndex )
参数:
oElement : 必选项。对象(Element)。要被添加的对象。
iIndex : 可选项。整数(Integer)。指定 oElement 被添加到集合 object 内的序号。如果省略,默认将被添加为最后一项。

返回值:

说明:
将 oElement 添加到数组对象 object (Array)中的序号为 iIndex 处。
示例:
var oOption = document.createElement("option");
oSelect.options.add(oOption,0);
realljx 2004-09-20
  • 打赏
  • 举报
回复
BlueDestiny(蓝色命运)

我考虑的是设计上的方便 我想这件事由div自己来做 而不要在Load里面对每一个层来写代码。
BlueDestiny 2004-09-20
  • 打赏
  • 举报
回复
不知道我理解了没有?~

不用控件都可以实现~,思路你自己也清楚了~,大于10字符的就使其字体改小就可以了~,你用javascript或者vbscript控制都可以~
realljx 2004-09-20
  • 打赏
  • 举报
回复
我也没有这种控件
我只有一些层
比如

<div id="Layer5" style="position:absolute; left:149px; top:636px; width:204px; height:37px; z-index:5">刘瑞展</div>
梅雪香 2004-09-20
  • 打赏
  • 举报
回复
兄台说页面上有很多这样的东西,那么一开始便执行如此多的判断会很影响速度吧
这样的控件还不知道有,能否把代码贴出来,研究一下
realljx 2004-09-20
  • 打赏
  • 举报
回复
谢谢各位 问题已经解决。
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-09-20 10:24
社区公告
暂无公告