关于textbox的textmode属性

fj527059008 2008-01-07 10:39:24
请问可否在前台脚本中改变textbox的textmode属性,
我想根据输入字符的数量来控制textbox的textmode属性,当超过一定数量时将其属性改为MultiLine.
...全文
456 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
honey52570 2008-01-08
  • 打赏
  • 举报
回复
既然都可以MultiLine

那干脆改成MultiLine就好了,何必多浪费资源。。。
songle912 2008-01-08
  • 打赏
  • 举报
回复
是不能修改
xiaoqhuang 2008-01-07
  • 打赏
  • 举报
回复
SingleTextBox生成的HTML是<input type="text"> MultiTextBox是<textarea>,貌似不能直接改。
放2个textBox,后台通过HiddenField取值。下面代码能实现你的要求,当然还有个问题是postback之后会回到原始状态,留给你自己搞定。


<asp:TextBox ID="TextBox1" runat="server" onpropertychange="DisplayMulti(this);"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" onpropertychange="DisplaySingle(this);" style="display:none"></asp:TextBox>
<asp:HiddenField ID="TextBoxValue" runat="server" />
<script type="text/javascript">
function DisplayMulti(textBox){
if(textBox.value.length>10){
textBox.style.display="none";
var textArea=document.getElementById("TextBox2");
textArea.value=textBox.value;
textArea.style.display="block";
textArea.focus();
}else{
document.getElementById("TextBoxValue").value=textBox.value;
}
}
function DisplaySingle(textArea){
if(textArea.value.length<=10){
textArea.style.display="none";
var textBox = document.getElementById("TextBox1");
textBox.value=textArea.value;
textBox.style.display="block";
textBox.focus();
}else{
document.getElementById("TextBoxValue").value=textArea.value;
}
}
</script>

LikeCode 2008-01-07
  • 打赏
  • 举报
回复
恩,不能修改type属性,所以考虑一下5楼说的思想,我想应该可以。
fj527059008 2008-01-07
  • 打赏
  • 举报
回复
感谢各位,这个办法行不通,我想通过其他的办法实现
fj527059008 2008-01-07
  • 打赏
  • 举报
回复
可通过onchange事件实现,当textbox失去焦点时才会去判断,并不会返回服务器,问题是怎样改变其textmode属性
LikeCode 2008-01-07
  • 打赏
  • 举报
回复
QUOTE:现在就是想通过js来实现
--------------------
2楼不是说了,你要在客户端修改TextBox的textmode,其实就是修改input的type属性,但这个属性是不可以在客户脚本端修改的。
我想可以通过篡改HTML实现,就是将INPUT放在一个容器里,如DIV,为INPUT加个ONCHANGE事件,根据需求,随时修改这个容器的innerhtml,服务端就用request.form["name"].tostring()获取文本。
duoduo123 2008-01-07
  • 打赏
  • 举报
回复
效率很不好,你写一个字就得call服务器,有点想GOOGLE suggest.
fj527059008 2008-01-07
  • 打赏
  • 举报
回复
现在就是想通过js来实现
LikeCode 2008-01-07
  • 打赏
  • 举报
回复
好象这个属性不可以通过客户端脚本修改的吧.
大正他爹 2008-01-07
  • 打赏
  • 举报
回复
可以是可以,只要据你的条件修改属性就可以了。
但页面要有回传才行,
要不刷新页面的话不可能完成服务器控件的属性的改变。
可以用JS来实现。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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