js获取jsf输入输出控件的值

来源:互联网 发布:split 第二个参数 java 编辑:程序博客网 时间:2024/06/02 03:52

一,

jsf中使用js获得输入项值的注意事项:
如果你在jsf的form标签
<h:form>中,使用了普通的<input id="username" type="text">输入框,那么你在js里面获得输入框的值的时候应该写
document.getElementById("userName").value

如果是 <h:inputText id="username" value="......">
那么在js里面有两种情况获得输入框的值,
如果想直接写:document.getElementById("userName").value,那么应该先写:
<h:form prependId="false">
或者写:<h:form id="aaaForm" >不变,js里面写
document.getElementById("aaaForm:userName").value

注意  这种方法对于输入控件是有效的。如果是outputText这种方法是不行的。

二,  获取outputText中的值

userUnitName=document.getElementById("form1:userUnit").innerHTML;(因为outputText里面的内容是在标签内输出的,不能算作value属性)。

三,获取inputText控件值(转载的  试验了一下 没有成功)

因为在jsf中使用控件标签 和html中使用的略有不同,所以在jsf用使用js不是很方便!

但是jsf网页代码在客服端显示出来的代码还是纯html ,jsp ,js代码。(在客服端浏览器右键“查看源代码”即可)

Html代码  收藏代码
  1.  <webuijsf:textField  
  2. onChange="validateEmail();"   
  3. binding="#{UserRegisteration.textField2_Email}"   
  4. id="textField2_Email"   
  5. required="false"   
  6. style=" position: relative z-index: 501"/>  
  7.                                       

 最终的js获取email的值的代码;

Js代码  收藏代码
  1. function validateEmail(){  
  2.     var text = document.forms['form1'].elements[1].value;  
  3.     alert(text);  
  4. }  
 

本想通过js获取jsf中textfield 控件的value值,再查询数据库,用来验证用户名是否可用。

一开始觉得有点不可能。因为jsf中textfield控件的值是通过textfield的text属性来设定的。而js中是通过value来获取的。有点失望。

 

后来在刘成同学的引导下,通过浏览器看到了网页的源代码:1.只有一个form 对象。名为“form1”

2.第一个input 的id为form1:textField2_Email(说明下,这个 textField2_Email 是jsf中输入email的一个textfield控件的id);但是在js中通过如下可以得到DOM对象;

Js代码  收藏代码
  1. var inputEmail = document.getElementById(form1:textField2_Email);  
  2. alert(inputEmail);  
  3. alert(inputEmail.vaue);  

 分别 输出如下:[object HTMLElement] ;undefined

 

本来想通过这段代码得到id 为textField2_Email的对象及其value;

不知道这个object指的是什么。。郁闷很长一段时间;

 

Js代码  收藏代码
  1. var text = document.forms['form1'].elements[0];  
  2.   alert(text);  

 发现客服端只有一个form1 ;所以想到用上面的这段代码试了下,输出如下:

[object HTMLInputElement]

看到一点希望,至少得到了input对象了。

Js代码  收藏代码
  1. var text = document.forms['form1'].elements[0].value;  
  2. alert(text);  

 这样就输出你刚才输入的值,到此,在jsf中通过js得到jsf中控件的text属性值的目的达到

引用网址:http://hyvi.iteye.com/blog/380479
0 0
原创粉丝点击