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 测试函数来测试复选框是否被勾选,如果是,我在这行代码中如何以及在何处执行此操作?非常感谢和感谢您的帮助,如果您理解我想说的话并且如果您能帮助我解决这个问题。

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 回答