在提交表单前,跟踪表单中带有焦点的字段,这不包括可能存在的用于提交表单的按钮。
此行为没有任何属性。而是,此行为在表单中查找具有特殊名称的隐藏字段。如果在表单中找到 ID 为 form-id:POST_LASTFIELD(其中,form-id 是表单标识)的字段,则将使用此隐藏字段将带焦点字段的标识传递回给服务器。如果在表单中找到 ID 为 form-id:POST_LASTCURSOR 的字段,则将使用此隐藏字段将该字段中的光标位置传递回给服务器。如果该字段不支持选择,则光标位置为 -1;否则,这是该字段中紧跟在文本光标后面的字符位置并基于零。例如,如果返回零,则表示光标在该字段中第一个字符前面。
此行为跟踪表单中发生的焦点事件,根据需要还将跟踪按键和鼠标事件。当直接从 JavaScript 中生成事件时,浏览器不会生成诸如焦点和单击之类的事件。例如,如果在页面中执行 Javascript obj.focus() 调用,则不会生成事件。在这种情况下,由于不生成事件,所以此行为不知道某个字段是否已获得焦点或者光标是否已移动。在这种情况下,由于基于 hxclient 的组件和行为使用公共焦点管理例程,因此所有这些组件和行为都能正确地跟踪焦点,但任何不基于 hxclient 的 Javascript 在设置焦点或光标后将无法正常工作。由于基于 ODC 的组件不基于 hxclient,所以可能无法正常工作。页面中的定制 JavaScript 也可能无法正常工作。
无。行为由 iSeries JSF 扩展使用。
必须与 <form> 标记连接。
<input type="hidden" disabled="true" id="form-id:POST_LASTFIELD"> <input type="hidden" disabled="true" id="form-id:POST_LASTCURSOR">
hX_5.addBehavior("id", "oninput", new hX_5.JSFBehaviorTrack()); 其中
id |
组件所连接至的 HTML 标记的 ID。 |
事件 |
描述 |
---|---|
oninput |
注意特殊事件名称的用法。该行为修改了所有键盘事件处理程序以及获得焦点和失去焦点处理程序。 |
在为该事件提供的任何其他处理程序运行完成后运行。不会停止该事件。
API 调用 |
描述 |
---|---|
object = setAttribute(attribute) |
设置属性,或如果以前已设置属性,则更改其值。 |
string = getAttribute(attribute-name) |
检索属性的当前值。 |
设置表单,以返回有关该表单中最后带有焦点的字段的焦点/光标信息。
<form id="form1"> <input type="text" id="form1:text1" /><br> <input type="text" id="form1:text2" /><br> <select id="form1:menu1" name="form0:menu1" class="selectOneMenu" size="1"> <option value="Value0">One</option> <option value="Value1">Two</option> <option value="Value2">Three</option> </select> <input type="submit" value="Submit" id="form01:button1" name="form1:button1" /> <input type="hidden" id="form1:POST_LASTFIELD" /> <input type="hidden" id="form1:POST_LASTCURSOR" /> </form> <script> hX.addBehavior("form1", "oninput", new hX.JSFBehaviorTrack()); hX.onPageLoad(); </script>