Dojo:为什么要生成额外的文本框?

时间:2011-10-05 18:28:24

标签: javascript dojo

以下部分代码在Firefox和Chrome中生成此结果

enter image description here

<html>
    <title>Dojo Example</title>
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.xd.js" 
    djConfig="parseOnLoad: true">
    </script>
    <script type="text/javascript"> 
    dojo.require("dojo.parser");
    dojo.require("dijit.form.ValidationTextBox")
    </script>
    <label for="firstName"> First Name: </label>
    <input type="text" id="firstName"
    dojoType="dijit.form.ValidationTextBox"
    promptMessage="Enter first name:"
    invalidMessage="First Name is required"
    />
</html>

生成一个带有文本“X”的额外文本框。我不知道如何解决它,为什么会发生这种情况。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

除了要包含要使用的主题的css样式表之外,还需要在html文档的body标签中添加有效的dijit主题。

例如:

<html>
    <head>    
        <title>Dojo Example</title>
        <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css">
        <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.xd.js" 
            djConfig="parseOnLoad: true">
        </script>
        <script type="text/javascript"> 
            dojo.require("dojo.parser");
            dojo.require("dijit.form.ValidationTextBox")
        </script>
   </head>
   <body class="claro">
        <label for="firstName"> First Name: </label>
        <input type="text" id="firstName"
            dojoType="dijit.form.ValidationTextBox"
            promptMessage="Enter first name:"
            invalidMessage="First Name is required"
        />
   </body>
</html>