2013-09-10 2 views
1

У меня есть <p:inputText>, содержащий значение цены с двумя цифрами долей (например, 1,23 в Германии или 1.23 в США). Форматирование номера можно легко сделать с помощью <f:convertNumber>.<p:slider> вызывает ошибку JS «TypeError: h undefined»

<p:inputText value="#{bean.price}"> 
    <f:convertNumber groupingUsed="#{false}" maxFractionDigits="2" minFractionDigits="2" /> 
</p:inputText> 

Но это не работает вместе с компонентом <p:slider>. То же самое без фракций, но с группируемыми значениями, такими как 20.000.000. Кто-нибудь знает, как это сделать?

<p:inputText id="txt1" value="#{quoteFinance.kms}"> 
    <f:convertNumber maxFractionDigits="0" /> 
</p:inputText> 
<p:slider for="txt1" /> 

Когда сдвинув ползунок, я получаю сообщение об ошибке: яваскрипте TypeError: h is undefined

я задал тот же вопрос, на PrimeFaces форуме, но нет ответа. http://forum.primefaces.org/viewtopic.php?f=3&t=14401&p=107517#p107517

ответ

3

TypeError: h is undefined

Тех родов ошибка JS/JQuery, как правило, вызваны тем, что дублируют различные версированные jquery.js файлов, загруженных с помощью веб-приложения. PrimeFaces как библиотека JSF на основе jQuery уже автоматически загружает файл jquery.js. Эта проблема предполагает, что вы по какой-то причине вручную загружаете еще один файл jquery.js через <script>/<h:outputScript>. Если вы удалите его, эта ошибка должна исчезнуть.

Вам не нужно указывать собственную копию jquery.js. Если у вас, тем не менее, есть страница, в которой вы хотели бы использовать некоторый jQuery, но сама страница не содержит какого-либо компонента PrimeFaces и, следовательно, необязательно автоматически включает в себя пакет PrimeSeries jquery.js, тогда вы всегда можете явно включать он себя прямо из библиотеки PrimeFaces, просто добавив следующую строку:

<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" /> 

Примечание: target="head" может быть опущено, если это уже внутри <h:head>. В противном случае, например, когда внутри <h:body> или <ui:define> клиента шаблона, он будет автоматически перемещен в голову. Еще одно замечание: вы можете безопасно использовать эту строку на странице, которая фактически автоматически включает в себя PrimeFaces-комплект jquery.js. Эта строка не приведет к дублированию включения jquery.js. Таким образом, вы можете смело поместить эту строку в шаблон шаблона.

Смежные вопросы