分享

javascript如何访问jsf组件 jsf jsf 博学,审问,慎思,明辨,笃行

 jimmylin88cn 2007-11-16
要注意的是:不能在JavaScript函数中使用如下类似语法来访问表单组件:
   documents.forms.registerForm.password
而应使用:
   documents.forms.registerForm["registerForm:password"].value

这是因为JSF解释上面<h:form id="registerForm">...</h:form>一段时会生成如下代码:

<form id="registerForm" method="post" action="/javascript/index.faces;jsessionid=7A029269C9ECF42CF553C9B52C824E2E"
enctype="application/x-www-form-urlencoded">

<table>    
   <tr>
      <td>
          <span class="emphasis">Name:</span>
      </td>
      <td>
           <input type="text" name="registerForm:_id2" />
      </td>
   </tr>
   <tr>
      <td>
           Password:
      </td>
      <td>
           <input id="registerForm:password" type="password" name="registerForm:password" value="" />
      </td>
    </tr>
    <tr>
       <td>
           Confirm Password:
       </td>
       <td>
           <input id="registerForm:passwordConfirm" type="password" name="registerForm:passwordConfirm" value="" />
       </td>
    </tr>
</table>
<input type="button" name="registerForm:_id5" value="Submit Form" onclick="checkPassword(this.form)" />
<input type="hidden" name="registerForm" value="registerForm" /></form>

    JSF产生的所有表单控件都有符合formName:componentName格式的名称,这里的formName表示控件的表单的
名称,而componentName表示控件名称。如果没有指定id属性,则JSF框架会自动创建标识符,就象上面的HTML
片段中的按钮一样。因此,要访问上面的密码字段,必须使用下列方法:
   documents.forms.registerForm["registerForm:password"].value

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约