次のような単純なJavascriptコードでは、数字だけを指定してTextField
に入力できます。私はサーブレット、JSP、JSTL/EL、さらにはPHPのような多くの場所でそれを以前に使っていましたが、期待通りにうまくいきました。しかし、JSFでは、いくつかの文字をエスケープする必要があるJavascriptにはあまり関心がありませんでした。私はそれを実行するために全力を尽くしたが、私はできなかった。ここにJSFのものと一緒にJavaScriptコードがあります。エンティティ名はエンティティ参照の '&'の直後にある必要があります
<?xml version='1.0' encoding='UTF-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Demo</title>
<script type="text/javascript" language="javascript">
$(document).ready(function()
{
$("#myForm:txtDemo").keypress(function(event)
{
if (event.keyCode==46 || event.keyCode==8|| event.keyCode==9 || event.keyCode>=35 && event.keyCode<=40)
{
// let it happen, don't do anything
}
else
{
if (event.charCode<48 || event.charCode>57 || event.charCode==16)
{
event.preventDefault();
}
}
});
});
</script>
</h:head>
<h:body>
<h:form id="myForm">
<br/><br/><br/>
<h:inputText id="txtDemo" required="true" requiredMessage="Mandatory." validatorMessage="The field should contain al least 10 digits">
<f:validateLength maximum="10" minimum="2"/>
<f:validateRegex pattern="[0-9]*"/>
<f:ajax event="valueChange" execute="txtDemo msg" render="txtDemo msg"/>
</h:inputText><br/>
<h:message id="msg" for="txtDemo" showDetail="true" style="color:red"/><br/>
<h:commandButton id="btnSubmit" value="Submit"/>
</h:form>
</h:body>
のJavascriptはコンパイルされていません。次のエラーを解析します。
An Error Occurred:
Error Parsing /Restricted/TempTags.xhtml: Error Traced[line: 14] The entity name
must immediately follow the '&' in the entity reference.
私も別のjs
ファイル内のJavaScriptコードを配置し、このページでは、そのファイルが含まれています。私はまた<script></scrip>
を<h:outputScript></h:outputScript>
と置き換えましたが、同じ問題が残っています。
は、私はまた、Javascriptの関数が呼び出されているかどうかを確認するために、次または関数が、関数自体からのエラー解析コードを削除
alert();
を使用していないしようとしているにも呼び出されていないと警告メッセージがありませんでした。表示されます。必要な変更が期待どおりに実行得るためにそのJavaScriptで必要とされている
<script type="text/javascript" language="javascript">
$(document).ready(function()
{
$("#myForm:txtDemo").keypress(function(event)
{
alert();
});
});
</script>
?
JSを「CDATA」タグ(Googleでは構文)にラップするとどうなりますか? – Blender
@Blenderまたは単に[scroll down](http://stackoverflow.com/a/8599528/139010) ';-)' –
@MДΓΓLLLLLL:卑劣な回答促進、私はすきです。 +1 – Blender