CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

客户端脚本修改服务端文本框控件的值,为什么服务端取不了该值呢,真是奇怪..

楼主caiCC(菜虫虫)2006-05-03 10:57:44 在 .NET技术 / ASP.NET 提问

一个服务端控件,<input   runat="server"这样也好,<asp:textbox   runat="server"这样也好,在客户端用脚本修改他们的值,ID是服务端读取cliectID用脚本形式写到客户端一个变量里的(Response.Write("<script   language=javascript>var   editName='"   &   TBcontent.ClientID   &   "';</script>),客户端使用的是如下方法:document.getElementById(editName).value来操作该控件的值的.修改后客户端可以看见修改了,但一旦提交到服务端,服务端读取该控件的值却还是老的值(如未赋值便是空字付串).昨天苦苦研究一整天,没找出原因...真是头通,今天只好发到CSDN上来,希望能有高手指点一二.先谢谢了!! 问题点数:50、回复次数:7Top

1 楼caiCC(菜虫虫)回复于 2006-05-03 11:44:08 得分 0

发现使用Request.Form("控件名")这样可以取出客户端修改过后的数据,但是很奇怪,那个"控件名"参数一定得是客户端控件的"name"属性,而不能是ID属性,使用ID属性取出来就是老值,但是能知道的只有ID.可以用cliectID来取得,而且name值会按编译器版本变化,也只能再生成后的页面原代码里找出来是怎么样的.这样代码兼容性岂不是很差!?Top

2 楼hdt(倦怠)回复于 2006-05-03 11:51:43 得分 11

Forms   enable   client-side   users   to   submit   data   to   a   server   in   a   standardized   format.   The   creator   of   a   form   designs   the   form   to   collect   the   required   data   using   a   variety   of   controls,   such   as   INPUT   or   SELECT.   Users   viewing   the   form   fill   in   the   data   and   then   click   the   Submit   button   to   send   the   data   to   the   server.   A   script   on   the   server   then   processes   the   data.  
   
  Each   control   element's   NAME   attribute   must   be   defined   if   the   data   is   to   be   submitted   with   the   form.   An   element   in   a   form   can   be   referenced   by   the   name   property   or   the   id   property,   or   through   the   elements   collection.  
   
  Top

3 楼jianyi0115(随意)回复于 2006-05-03 11:55:33 得分 6

但是很奇怪,那个"控件名"参数一定得是客户端控件的"name"属性  
  ----------------  
  不要奇怪,先搞清楚基本的html表单,Post请求的方式.  
   
  可以用UniqeID获取客户端控件的"name"属性.  
   
  一般来说,客户端js修改了textbox   的值,在服务器端是可以直接用Text属性获取到的,楼主取不到/?Top

4 楼cansum396(漆黑的夜)回复于 2006-05-03 11:55:36 得分 11

客户修改的在服务器端   是取不到的  
  放到hidder中去Top

5 楼caiCC(菜虫虫)回复于 2006-05-03 13:25:51 得分 0

有谁知道response.from方法为什么不能用ID来取吗.还有为什么客户端用JS修改文本框的value值后,服务端使用text读不出来,(如果是runat="server"的input服务端控件,使用id.value也读不出来的.)客户端js里是使用document.getElementById搜索出来操作的,难道和这有关系?不过在客户端是能看到值改变了的呀.!!Top

6 楼insiderc()回复于 2006-05-03 13:32:24 得分 11

可加个中间控件得到Top

7 楼webwait(webwei)回复于 2006-05-09 14:30:36 得分 11

客户端得到的只是服务器端运行后结果,客户端做的改变不提交的话,服务器不会取得值  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:caiCC
  • hdt
  • jianyi0115
  • cansum396
  • insiderc
  • webwait

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo