0

チェックボックスがオンになっていない場合(フォームの送信ボタンをクリックすると)、XSLTファイルを使用して赤いテキストエラーメッセージを表示しようとしています。これは、フォーム内の現在の(関連する部分だと思います)コードです。

<div id="confcontent">
<xsl:apply-templates select="$model/validationMessages/allMessages" mode="validationMessageList" />
     <div class="formblock">
        <form action="{$model/@formAction}" method="post" onSubmit="return checkValidation();">
            <div class="fieldSet">
                <input type="checkbox" name="managerconfirmation" onclick="(input/@managerconfirmation" />
                <span>Random text next to checkbox is entered here</span><br />
            </div>

            <div class="fieldSet">
              <span>I want this message to show up in red if I do not click on the checkbox</span>
            </div>
           <div class="fieldSet">
              <input class="enterbtn" type="submit" value="Enter" />
              <div class="clearboth">&#160;</div>
           </div>
        </form>

     </div>
</div>
</xsl:template>

xsl:if test関数を使用してチェックボックスがオンになっているかどうかをテストしますか?オンになっている場合は、このコード行のどこでどのように実行しますか?私が言おうとしていることを理解し、この問題を解決するのを手伝ってくれるなら、あなたの援助に感謝します。

4

1 に答える 1

2

クライアント側またはサーバー側 (またはその両方) の 2 つのオプションがありますが、サーバー側で使用している言語と、それらすべてがどのように結びついているかについての情報は提供されていません。

したがって、Javascript を使用する最も簡単な方法は、チェックボックスエラー メッセージidに を付けてから、ID を参照することです。

function checkValidation()
{
   if(!document.getElementById('myCheckbox').checked)
   {
      document.getElementById('errorMessage').style.display = 'block';
      document.getElementById('errorMessage').style.color = '#CC0000';
      return false;
   }

   return true;
} 

より普遍的な解決策として、必要に応じて dom をトラバースし、クラス名で実行して関連するエラー メッセージdivを見つけることができますが、遅くなります。

于 2012-09-04T16:15:42.603 に答える