【问题标题】:Dojo dijit.form.ValidationTextBox helpDojo dijit.form.ValidationTextBox 帮助
【发布时间】:2011-02-26 22:08:38
【问题描述】:

我第一次尝试使用 Dojo 工具包时遇到了错误。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script type="text/javascript" src="/lib/dojo/dojo.js.uncompressed.js"></script>
    <title>Insert title here</title>
</head>
<body>
    <form enctype="application/x-www-form-urlencoded" action="" method="post">
      <dl class="zend_form">
        <dt id="teszt-label">
          <label for="teszt" class="required">teszt:
          </label>
        </dt>
        <dd id="teszt-element">
          <input type="text" name="teszt" id="teszt" value="" 
            dojoType="dijit.form.ValidationTextBox"
            regExp="\d{5}" required="true" invalidMessage="asd" />
        </dd>
      </dl>
    </form>
    <script type="text/javascript">// <![CDATA[
      dojo.require("dijit.form.ValidationTextBox");
    // ]]></script>
</body>
</html>

我从第二个例子中得到了脚本:http://www.dojotoolkit.org/reference-guide/dijit/form/ValidationTextbox.html#dijit-form-validationtextbox

脚本必须使用给定的正则表达式验证输入。 我在 firebug 中看到,它加载了所有必需的组件,但它不适用于输入字段。

怎么了?

【问题讨论】:

  • 我不知道这是否相关,但您没有 html、head 或 body 标签和 2 个标题标签。把这些和你所有的脚本都放在脑海里,再试一次,让我们知道。
  • 错误是什么? “在输入字段上不起作用”是什么意思。预期的行为是什么?顺便说一句,你有两个 &lt;title&gt; 元素。你应该将你的内联脚本标记为CDATA。
  • @edl:有html、head和body标签,我会改进格式的。
  • 谢谢,我删除了重复的标题标签,但其他标签并没有丢失,只是 stackoverflow 格式化它很奇怪。无论如何都不起作用...
  • @Marcel Korpel:感谢格式化,我现在添加了 CDATA。脚本必须使用给定的正则表达式验证字段。代码来自第二个示例:dojotoolkit.org/reference-guide/dijit/form/…

标签: javascript dojo


【解决方案1】:
<script type="text/javascript">
//<![CDATA[
    dojo.require("dojo.parser");
    dojo.addOnLoad(function(){
        dojo.parser.parse();
    });

// ]]>
</script>

这段代码解决了问题。

【讨论】:

    【解决方案2】:

    不如这样做?

    <script type="text/javascript" src="/assets/dojo/dojo.js" data-dojo-config="parseOnLoad: true, isDebug: true"></script>
    

    isDebug: true 如果您希望在浏览器控制台上显示一些调试消息,则设置。

    【讨论】:

      【解决方案3】:

      regExp="\d{5}" 到 regExp: "[\\d]{5}"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-10
        • 2018-12-21
        • 2011-06-20
        • 2011-07-28
        • 2011-10-04
        • 2011-08-03
        相关资源
        最近更新 更多