0

以前にこの質問をしましたが、jsf で使用する必要があります。アプリケーションでprimefacesライブラリを使用しています。私のコードはここにあります:

Jsf: <h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />           
<script type="text/javascript">    
  $ = jQuery;  $(document).ready(function() {
         $("p:inpuText").each(function () {
        comp(this);
    });

   $("[required='true']").blur(function ()  {
        comp(this);
      });

   $("[required='true']").keyup(function ()  {
      comp(this);
       });


   $("[required='true']").click(function ()  {
        comp(this);
      });



      function comp(a) {
          if ($(a).val() != "")
              $(a).css({
              "border": "1px solid #ccc !important",
              "background": "#FFF"
          });

          else $(a).css({
              "border": "1px solid #FF0000 !important",
              "background": "#FFEFFF"
          });



      }

});

css を必須フィールドを空に設定したい。

4

1 に答える 1

2

あなたは概念的思考の間違いを犯しています。JS/jQuery は JSF コードでは実行されません。代わりに、JSF で生成された HTML コードで実行されます。ブラウザでJSFページを開き、右クリックしてソースを表示します。あなた見えますか?これは 1 つの HTML コードです。そこには<p:inputText>要素はなく、要素だけ<input>です。<input>どちらの要素もrequired="true"設定されていません。

代わりに、たとえば特定のスタイル クラスを指定します。

<p:inputText ... required="true" styleClass="required" />

これにより、次の HTML が生成されます。

<input ... class="required" />

たとえば、次のようにしてjQueryでそれらを選択できるようにします。

$(":input.required")

カスタム レンダラーまたはタグ ファイルを使用すると、毎回スタイル クラスを書き留める必要がなくなります。

于 2013-06-24T12:55:07.037 に答える