Я использую PrimeFaces. Успешно я реализовал много диалогов с использованием компонента PrimeTaces InputText. Для лучшего ввода форматирования и проверки на номера я проверил компонент InputNumber из PrimeFaces Extensions. Но когда я использую этот компонент, мой диалог не открывается, нажимая на кнопку.SyntaxError: missing} с использованием расширений frontfaces inputNumber с использованием jquery
После более тщательного тестирования и исследований я могу сказать более конкретно, что проблема зависит от используемого языка. Таким образом, язык, подобный «de» или «en», в порядке, но «de-ch» нет. Для де-ch используется специальный символ апострофа ' используется как разделитель тысяч.
Таким образом, использование апострофа в виде тысячи или десятичного разделителя приведет к ошибке.
В Internet Explorer 11, я получаю следующее сообщение об ошибке:.
SCRIPT1009: '}' expected
file: jquery.js.xhtml, row: 14, column: 2888
globalEval:function(e){if(e&&bI.trim(e)){(a5.execScript||function(i){a5["eval"].call(a5,i)})(e)}},camelCase:function(e){return e.replace(bS,"ms-")
Ошибка находится на a5 [ "Eval"] Вызов (a5, я)
В светлячок 33,0 я получаю следующее сообщение об ошибке:
SyntaxError: missing } after property list
Я свели задачу к следующему коду:
inputNumber.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:pe="http://primefaces.org/ui/extensions"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h:form>
<p:panelGrid columns="4">
<p:commandButton id="btnActionListenerPinputText"
value="InputText Dialog via ActionListener"
actionListener="#{dtDialogView.onShowPITDialog}"/>
<p:commandButton id="btnOnSuccessPinputText"
value="InputText Dialog via OnSuccess"
onsuccess="PF('pitDlg').show();"/>
<p:commandButton id="btnOnClickPinputText"
value="InputText Dialog via OnClick"
onclick="PF('pitDlg').show();"/>
<p:commandButton id="btnOnCompletePinputText"
value="InputText Dialog via OnComplete"
oncomplete="PF('pitDlg').show();"/>
<p:commandButton id="btnActionListenerPEinputNumber"
value="InputNumber Dialog via ActionListener"
actionListener="#{dtDialogView.onShowPEINDialog}"/>
<p:commandButton id="btnOnSuccessPEinputNumber"
value="InputNumber Dialog via OnSuccess"
onsuccess="PF('peinDlg').show();"/>
<p:commandButton id="btnOnClickPEinputNumber"
value="InputNumber Dialog via OnClick"
onclick="PF('peinDlg').show();"/>
<p:commandButton id="btnOnCompletePEinputNumber"
value="InputNumber Dialog via OnComplete"
oncomplete="PF('peinDlg').show();"/>
</p:panelGrid>
</h:form>
<!-- primefaces inputText dialog -->
<h:form id="form-dlgpit">
<p:dialog id="dlgpit"
header="PrimeFaces Input Text"
widgetVar="pitDlg"
resizable="false"
dynamic="true"
modal="true">
<h:outputText id="amount_label" value="Amount"/>
<p:inputText id="amount_value" value="#{dtDialogView.amount}" />
<p:commandButton id="btnPitSave"
value="Save"
oncomplete="{PF('pitDlg').hide();}"/>
</p:dialog>
</h:form>
<!-- primefaces extensions inputNumber dialog -->
<h:form id="form-dlgpein">
<p:dialog id="dlgpein"
header="PrimeFaces Extensions Input Number"
widgetVar="peinDlg"
resizable="false"
dynamic="true"
modal="true">
<h:outputText id="amount_label" value="Amount"/>
<pe:inputNumber id="amount_value" value="#{dtDialogView.amount}"
thousandSeparator="'"
decimalSeparator="."/>
<p:commandButton id="btnPeinSave"
value="Save"
oncomplete="{PF('peinDlg').hide();}"/>
</p:dialog>
</h:form>
</h:body>
</html>
DialogView.java
@ManagedBean(name = "dtDialogView")
@ViewScoped
public class DialogView implements Serializable {
private Long amount;
public Long getAmount() {
return amount;
}
public void setAmount(Long amount) {
this.amount = amount;
}
public void onShowPITDialog() {
RequestContext.getCurrentInstance().execute("PF('pitDlg').show();");
}
public void onShowPEINDialog() {
RequestContext.getCurrentInstance().execute("PF('peinDlg').show();");
}
}
Окружающая среда Я использую:
- PrimeFaces 5.1.3
- PrimeFaces Расширения 3.0.0
- Tomcat 8.0.14
- Java Server Faces 2.2
я сделал больше испытаний и исследований и адаптировали описание – gipsyrg
Эта ошибка является открытым вопросом в PrimeFaces Extensions InputNumber, проверьте [ссылка] (https://github.com/primefaces-extensions/primefaces-extensions.github .com/вопросы/274) – gipsyrg