jsp中关于disabled,hidden取值的方法。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp中关于disabled,hidden取值的方法。相关的知识,希望对你有一定的参考价值。

比如说,我写了一个下拉列表:
<html:select disabled property="aaaa" value="$a.index">
<html:option>-</html:option>
<html:option>1</html:option>
<html:hidden property="bbbbb" value="$a.index">
现在的问题是,用js控制该下拉列表框disabled=false之后,可以去除hidden的值,但是disabled=true的时候就取不到。所以,能用什么方法取到这个下拉列表的值???

1、disabled=true 表示控件禁止状态 里面的值从from或者getPatermer中是得不到的,一般选择disabled=true 这个值是不要传递的 以为数据库中就有这个值
2、如果确实想得到这个值说的话 采用hidden框和js联合传值,具体demo:
<html:select disabled property="aaaa" value="$a.index">
<html:option>-</html:option>
<html:option>1</html:option>
<html:hidden value="$a.index" id ="xxxxx">
<script type="text/javascript" language="javascript">
var vvv=document.getElementById('xxxxx').value;
</script>
这样就可以得到被disabled=true 掉的那个值
参考技术A 比如在修改某条记录时,在编辑窗口会嵌入该记录的id
在展示界面有时需要将input或select选框设为disable以避免用户修改
下列代码中的hidden在IE中不能正常作用
代码如下:
<input name = "role_name" id =
"role_name" value="Roy" disabled>
<input name = "role_id" id =
"role_id" hidden value="3312">
标准写法应当有附加值
代码如下:
<input name = "role_name" id =
"role_name" value="Roy" disabled = "disabled">
<input name = "role_id"
id = "role_id" hidden = "hidden" value="3312">
需要在当前页面编辑如上两条可以用
代码如下:
$("#role_name").removeAttr("disabled");
$("#role_id").removeAttr("hidden");
或者
代码如下:
$("#role_name").prop("disabled",false);
$("#role_id").prop("hidden",false);
其中$("#role_name").prop()会返回一个boolean值,确认是否已开启这项属性prop()方法同时还能用在checked选项中用来控制选项是否选中
一般情况下prop()可生效于写属性名便能生效及使用boolean操控属性状态的属性
参考技术B 这个disabled设置成true的时候是不能传值的、你可以同时定义一个hidden 隐藏域 来传值追问

我已经设定hidden隐藏域来传值了,但是在action中取不到对应form里的值。还有这个答案如果不是你原创的,你就不用黏贴复制了。

追答

你不是用js控制的么、在给它disabled true 的前面把值 给hidden 然后后台直接获取不可以?

function aa()

var a =document.getElementById("select").value;
alert("选择的是"+a);
var n =document.getElementById("n").value;
n=a;
document.getElementById("select").disabled="true";
alert("我可以获取到"+n);


1
2
3

大概思路吧、- -!~网上有我这么回答问题的么

追问

但是现在还有个问题就是,我这个下拉列表框里前面还有个checkbox,怎样通过勾选的checkbox取到对应的hidden的值?

本回答被提问者采纳
参考技术C 具体的记不清楚了,但是用过,貌似是用的Jquery,你去Jquery的api上去搜搜看,有这个方法的

零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异

原文:零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异

本次要针对Disabled以及Hidden作讨论

很多人会把Disabled当成是不显示,因为选单内容有个Visible(翻译为可见or显示)

但其实Disabled是禁用而非不显示,若是想要使之不显示,请使用Hidden作隐藏即可

我想,不显示跟隐藏的意思是雷同的,但与禁用却是相差很远,所以请不要搞混喔~

隐藏与禁用,在实务上使用起来就是有差别!!

差在哪里呢?看下去就知道

?

?

先前在Chapter10有介绍过ScrollViewer的属性以及功能

(回顾请点我)

?

其重点设定的内容为

Auto = 当内容过多时,自动显示bar

Disabled = 禁用bar

Hidden = 隐藏bar

Visible =显示bar

?

本次要针对Disabled以及Hidden作讨论

很多人会把Disabled当成是不显示,因为选单内容有个Visible(翻译为可见or显示)

但其实Disabled禁用而非不显示,若是想要使之不显示,请使用Hidden作隐藏即可

我想,不显示跟隐藏的意思是雷同的,但与禁用却是相差很远,所以请不要搞混喔~

隐藏与禁用,在实务上使用起来就是有差别!!

差在哪里呢?看下去就知道

?

01

延续Ch10的作法,请在ScrollViewer内放入StackPanel,并在StackPanel内放入数个Button

技术分享图片

?

完成後,请全部选取後复制出另一个ScrollViewer,好为我们等等的比较做准备

(下图为还没有设定Hidden以及Disabled属性的状态)

技术分享图片

还没有设定Hidden以及Disabled属性的Xaml如下:

   1: <ScrollViewer x:Name="HiddenScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">
   2:     <StackPanel Background="#FF525252">
   3:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>
   4:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>
   5:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>
   6:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>
   7:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>
   8:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>
   9:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>
  10:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFFFBC79"/>
  11:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF521E00"/>
  12:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3"/>
  13:     </StackPanel>
  14: </ScrollViewer>
  15: <ScrollViewer x:Name="HiddenScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.Column="1"  Grid.Row="1"HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">
  16:     <StackPanel Background="#FF525252">
  17:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>
  18:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>
  19:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>
  20:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>
  21:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>
  22:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>
  23:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>
  24:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFFFBC79"/>
  25:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF521E00"/>
  26:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3"/>
  27:     </StackPanel>
  28: </ScrollViewer>
  29:  
  30:  

?

02

点选左边的ScrollViewer後从Properties->Layout->选择Show advanced Properties-> VerticalScrollBarVisibility

可以看到由上至下Disabled 、Auto、Hidden 以及Visible 四种设定

技术分享图片

?

这里,请选择Hidden

?

右边的ScrollViewer请选择Disabled

?

完成後,按下F5试试看到底哪边不一样

附上实作范例,试试看左边跟右边的差异

?

请点击左边ScrollViewer内的Button後,在ScrollViewer内卷动一下滑鼠滚轮

点击右边ScrollViewer内的Button,也在右边的ScrollViewer卷动一下滑鼠滚轮

?

?

更改为Hidden以及Disabled属性的Xaml如下:

   1: <ScrollViewer x:Name="HiddenScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Hidden" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">
   2:     <StackPanel Background="#FF525252">
   3:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>
   4:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>
   5:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>
   6:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>
   7:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>
   8:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>
   9:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>
  10:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFFFBC79"/>
  11:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF521E00"/>
  12:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3"/>
  13:     </StackPanel>
  14: </ScrollViewer>
  15: <ScrollViewer x:Name="DisableScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Disabled" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">
  16:     <StackPanel Background="#FF525252">
  17:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>
  18:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>
  19:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>
  20:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>
  21:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>
  22:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>
  23:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>
  24:         <Button Content="Button" Margin="5,3" Foreground="#FFFFBC79"/>
  25:         <Button Content="Button" Margin="5,3"/>
  26:         <Button Content="Button" Margin="5,3"/>
  27:     </StackPanel>
  28: </ScrollViewer

?

由此可知

虽然看不见ScrollBar,不过设定为Hidden的卷轴使用滑鼠滚轮滚动还是可以看到所有的内容

但是设定为Disabled的卷轴却已经完全没有反应了唷!

?

------------------------------------------------------03/21更新--------------------------------------------------------------

?

为了让大家更了解Disabled 、Auto、Hidden 以及Visible 四种设定间的差异

特别多做了一个四合一的比较:

感谢Ouch的技术协助

拖动Slider更改颜色区块的大小,看出四种设定的差异

Auto = 当内容过多时,才会显示bar

Disabled = 就算内容超过容器大小,也完全禁用bar

Hidden = 隐藏bar ,但可以使用滑鼠滚轮卷动,观看超过容器大小的内容

Visible =不管内容是否有超过容器大小,永远都显示bar

?

?

?

?

(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)

一步一步迈向HIE之路

 

喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!

若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您

 

 












以上是关于jsp中关于disabled,hidden取值的方法。的主要内容,如果未能解决你的问题,请参考以下文章

jsp中单选框怎么调节的不可选

JSP中el表达式的取值过程是怎样的?

ffmpeg中关于ffplay部分的概要分析-2

jsp页面中<input> 标签取值不全怎么办?

怎么做JSP 下拉框不可编辑

Linux中关于远程上传的下载