onkeyup =“check()”on <p:password>对输入元素值</p:password>显示为null

时间:2011-12-19 06:48:14

标签: javascript jsf-2 primefaces

在primefaces 3.0.M3中,使用document.getElementById('confirmPassword')获取javaBox的textBox值,这给出了一个空值! 代码是: 在primefaces:

<h:outputText value="Confirm Password*" />
<p:password
value="#{employeeRepositoryImpl.securityPrincipals.confirmPassword}"
required="true" label="Confirm Password" id="confirmPassword" for="confirmPassword" onkeyup="check()" >
update="confirmPassword" />
</p:password>

在javaScript中:

function check(){
    var title1 = document.getElementById('confirmPassword'); 
    var title2 = document.getElementById('password'); 
    alert(title1+title2);}

我设置了prependId =“false”。但是警报显示为null。还有其他方法可以做同样的事情吗?

1 个答案:

答案 0 :(得分:1)

正如您所提到的,生成的HTML如下所示

<input id="formId:confirmPassword_input" class="ui-inputfield ui-password ui-widget ui-state-default ui-corner-all" type="password" onkeyup="checkPass()" value="fd" name="formId:confirmPassword_input">

表示仍然会从中添加ID,请重新检查这些组件所在的h:form并设置prependId="false"

如果您尝试获取标识为confirmPassword的HTML dom,则会返回null,其中HTML中的实际ID为formId:confirmPassword_input