焦点在几个<p:inputNumber>之间自动跳转
Focus auto jump between several <p:inputNumber>
我的网站有几个 (Primefaces)
form 有几个 (Primefaces)
的例子
<p:inputNumber id="sbAddXm" value="#{point.xm}"
styleClass="coordinate-field"
maxlength="2"
inputStyle="margin: 0 0 7px 0; font-size: 16px;"
autocomplete="off"
onkeyup="clearError(this)"
decimalPlaces="0" thousandSeparator=""
validator="fractionNumberValidator">
<p:keyFilter mask="pint" preventPaste="false" />
<f:attribute name="minimum" value="0"/>
<f:attribute name="maximum" value="59"/>
<f:attribute name="summary" value="Ошибка: "/>
<f:attribute name="detail" value="«Долгота - минуты» должно быть число от 0 до 59"/>
<p:ajax event="focus" oncomplete="select(this)"/>
<p:ajax event="change" listener="#{editEntityView.doReRender}"/>
<f:ajax event="keyup" render="addOrEditSubsoilBorderModal:SBmessage
addOrEditSubsoilBorderModal:addSubsoilBorderSaveBtn
addOrEditSubsoilBorderModal:editSubsoilBorderSaveBtn"/>
当我尝试填写多个输入时出现问题(通过按 Tab 键或通过鼠标单击字段在输入之间切换)。
问题是:焦点开始在输入字段之间自动循环跳转。
如果我在 Chrome 调试器中按 F8 暂停脚本,我会看到在 jQuery 中某处循环,但我没有以这种形式使用 jQuery。
其实问题的解决方法是这样的:
Also don't use <p:ajax event="focus" oncomplete="select(this)"/> for focus just on your inputNumber put onfocus="select(this)"since it seems you just want to use client Side Javascript and not a server side AJAX call. – Melloware
谢谢!
我的网站有几个
<p:inputNumber id="sbAddXm" value="#{point.xm}"
styleClass="coordinate-field"
maxlength="2"
inputStyle="margin: 0 0 7px 0; font-size: 16px;"
autocomplete="off"
onkeyup="clearError(this)"
decimalPlaces="0" thousandSeparator=""
validator="fractionNumberValidator">
<p:keyFilter mask="pint" preventPaste="false" />
<f:attribute name="minimum" value="0"/>
<f:attribute name="maximum" value="59"/>
<f:attribute name="summary" value="Ошибка: "/>
<f:attribute name="detail" value="«Долгота - минуты» должно быть число от 0 до 59"/>
<p:ajax event="focus" oncomplete="select(this)"/>
<p:ajax event="change" listener="#{editEntityView.doReRender}"/>
<f:ajax event="keyup" render="addOrEditSubsoilBorderModal:SBmessage
addOrEditSubsoilBorderModal:addSubsoilBorderSaveBtn
addOrEditSubsoilBorderModal:editSubsoilBorderSaveBtn"/>
当我尝试填写多个输入时出现问题(通过按 Tab 键或通过鼠标单击字段在输入之间切换)。
问题是:焦点开始在输入字段之间自动循环跳转。 如果我在 Chrome 调试器中按 F8 暂停脚本,我会看到在 jQuery 中某处循环,但我没有以这种形式使用 jQuery。
其实问题的解决方法是这样的:
Also don't use <p:ajax event="focus" oncomplete="select(this)"/> for focus just on your inputNumber put onfocus="select(this)"since it seems you just want to use client Side Javascript and not a server side AJAX call. – Melloware
谢谢!