如何在客户端判断文本框内的文字是否发生改动

zjliujun 2004-05-02 10:47:59
一个文本框,里面绑定了从数据库取出的一段文字。现在要在客户端判断文本框内的文字是否发生改动,最好用 验证控件,不能用TextChanged事件(因为TextChanged事件要在服务器端判断,用不了)
...全文
77 19 点赞 打赏 收藏 举报
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zjliujun 2004-05-09
多谢 FlashElf(闪),我试一下,行了马上给分。
  • 打赏
  • 举报
回复
gxg2003csdn 2004-05-09
up
  • 打赏
  • 举报
回复
zjliujun 2004-05-09
FlashElf(闪)的方法试过了,确实如果没有修改就不提交。但是有个问题是,如果你不想修改了,按“取消键”也退不回去,这该怎么解决?
  • 打赏
  • 举报
回复
冷月孤峰 2004-05-03
试试这个,也许对你有帮助:
<html>
<head>
<title>中国人才热线求职站</title>


</head>
<SCRIPT LANGUAGE="JavaScript">
<!--//
function textCounter(field, countfield, maxlimit) {
// 定义函数,传入3个参数,分别为表单区的名字,表单域元素名,字符限制;
if (field.value.length > maxlimit)
//如果元素区字符数大于最大字符数,按照最大字符数截断;
field.value = field.value.substring(0, maxlimit);
else
//在记数区文本框内显示剩余的字符数;
countfield.value = maxlimit - field.value.length;
}
//-->
</SCRIPT>
<form method="post" name="FrmResume" onsubmit="return checkResume()">

<textarea class="rec_form" cols="70" name="JL" rows="15" wrap=physical onKeyDown="textCounter(this.form.JL,this.form.remLen,1000);" onKeyUp="textCounter(this.form.JL,this.form.remLen,1000);"></textarea></font>
<br>
尚能输入 <input readonly type=text name=remLen size=3 maxlength=3 value="1000" style="font-size:9pt;color:red;border-top-width:0;border-left-width:0;border-right-width:0;border-bottom-width:0">个字符
<input type=hidden name="action" value="savedata">
<p align="center">

</form>
</body>
</html>
  • 打赏
  • 举报
回复
曲滨_銘龘鶽 2004-05-03
form 的 客户端 onSubmit 事件处理一下就行
不要忘记下面的。
if (Form1.TextBox1.value=="<%=TextBox1.Text%>")
  • 打赏
  • 举报
回复
曲滨_銘龘鶽 2004-05-03
<%@ Page language="c#" Codebehind="Submit.aspx.cs" AutoEventWireup="false" Inherits="WebService1.Submit" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Submit</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>
function thisSubmint()
{
if (Form1.TextBox1.value=="<%=TextBox1.Text%>")
{
alert("抱歉您没有对数据进行任何更改无须提交");
return false;
}

}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server" onSubmit="return thisSubmint(this);">
<FONT face="宋体">
<asp:TextBox id="TextBox1" runat="server">测试</asp:TextBox>
<asp:Button id="Button1" runat="server" Text="提交"></asp:Button></FONT>
</form>
</body>
</HTML>
  • 打赏
  • 举报
回复
blackant2 2004-05-03
.cs
textboxcontrol.text=datasource
textboxcontrol.attrib["onchange"]="javascript:textonchange(this);";

.aspx
<script language=javascript>
function textonchange(obj){
alert(obj.value);
}
</script>
  • 打赏
  • 举报
回复
ghostmirror 2004-05-03
用 js

TextBox1.Attributes.Add("onkeydown","javascript:your function");
你只需要在your function里面写相应处理函数就可以了
  • 打赏
  • 举报
回复
ghostmirror 2004-05-03
楼上的,这个好像没有什么用处的
只是在表最后提交的时候判断一下


  • 打赏
  • 举报
回复
smx717616 2004-05-02
<input type=text id=txt1 onkeypress="change()">
然后可以:
<script>
function change(){
if(txt1.value == ''){
document.all.button1.disabled = false;
}
else{
document.all.button1.disabled =true;
}
}
</script>
改一下
  • 打赏
  • 举报
回复
smx717616 2004-05-02
用js
我的js水平差,不过…
你可以在载入时得到 text 的值,然后比较
  • 打赏
  • 举报
回复
zjliujun 2004-05-02
up
  • 打赏
  • 举报
回复
wolftop 2004-05-02
U~!P~!
  • 打赏
  • 举报
回复
曲滨_銘龘鶽 2004-05-02
标记一下今天没时间明天的!
  • 打赏
  • 举报
回复
lxcc 2004-05-02
//Text的onchange事件是服务器端处理的吧。
看你的TextBox是在哪,如果是HTML控件,那是在客户端处理,如果是web控件,并且有runat="Server",是在服务器端处理
  • 打赏
  • 举报
回复
liuhaixue 2004-05-02
我利用的一个方法是:
利用隐藏的域存储当前记录中textBox从数据库中提出来的值,然后在你要做判断的事件里调用客户端比较函数,该函数的功能就是比较隐藏域和当前textBox中的值是否相同。
  • 打赏
  • 举报
回复
zjliujun 2004-05-02
Text的onchange事件是服务器端处理的吧。
  • 打赏
  • 举报
回复
citylamp 2004-05-02
Text的onchange事件好象可以
  • 打赏
  • 举报
回复
zjliujun 2004-05-02
up
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-05-02 10:47
社区公告
暂无公告