Dojo表单在IE 8中显示不同的

Dojo表单在IE 8中显示不同的,dojo,Dojo,出于某种原因,我的代码在除IE8之外的所有浏览器中都能正确显示 <form dojoType="dijit.form">' <ul class="ul_two_col_form"> <li> <label>Name</label> <input dojoType="dijit.form.ValidationTextBox" invalidMessage="Name is required."

出于某种原因,我的代码在除IE8之外的所有浏览器中都能正确显示

<form dojoType="dijit.form">'
<ul class="ul_two_col_form">
    <li>
        <label>Name</label>
        <input dojoType="dijit.form.ValidationTextBox" invalidMessage="Name is required." required="true" propercase="true" trim="true" id="contactname" />
        <div dojoType="dijit.Tooltip" connectId="contactname">
            Please enter a name.
        </div>
    </li>
    <li>
        <label>Email</label>
        <input dojoType="dijit.form.ValidationTextBox" invalidMessage="Email is required." regExp="[a-z0-9._%+-]+@[a-z0-9-]+\.[a-z]{2,4}" required="true" trim="true" id="contactemail" />
        <div dojoType="dijit.Tooltip" connectId="contactemail">
            Please enter your email address.
        </div>
    </li> 
    <li>
        <label>Message</label>
        <textarea dojoType="dijit.form.Textarea" id="contactmessage" rows="6"></textarea>
        <div dojoType="dijit.Tooltip" connectId="contactmessage">
            Please enter a message.
        </div>
    </li>
    <li>
        <button dojoType="dijit.form.Button" type="button" onclick="essentials.SendContactUsEmail();">Send your request</button>
    </li>
</ul>
</form>
'
  • 名称 请输入一个名称。
  • 电子邮件 请输入您的电子邮件地址。
  • 消息 请输入一条消息。
  • 发送您的请求

我在IE8中也遇到了这个错误。 无法加载类“dijit.form”。名称拼写是否正确,是否使用完整路径,如“dijit.form.button”?
js

我从表单标签中删除了dojoType=“dijit.form”,它可以正常工作。

我删除了dojoType=“dijit.form”“从表单标记中删除,它就可以工作。

通过从
form
元素中删除dojoType属性,您已经恢复到通用HTML表单。如果您想使用Dojo表单验证,您可以通过以下方式来实现

您需要使用:
dijit.form.form

<head>
    <script type="text/javascript">
        dojo.require("dojo.parser");
        dojo.require("dojo.form.Form");
        dojo.require("dojo.form.ValidationTextBox");
        dojo.require("dojo.form.Button");
        // more includes here...
    </script>
</head>
<body>
    <form dojoType="dijit.form.Form" action="..." method="...">
        <input dojoType="dijit.form.ValidationTextBox" trim="true" regExp="..." invalidMessage="Oops...">
        <!-- // more form elemts here... -->
        <button type="submit" dojoType="dijit.form.Button" ...>
            Submit
        </button>
        <script type="dojo/method" event="onSubmit">
            if (!this.validate()) {
                alert("Form contains invalid data.  Please correct....");
                return false;
            }
            return true;
        <script>
    </form>
</body>

require(“dojo.parser”);
dojo.require(“dojo.form.form”);
require(“dojo.form.ValidationTextBox”);
require(“dojo.form.Button”);
//更多包括在这里。。。
提交
如果(!this.validate()){
警报(“表单包含无效数据。请更正…”);
返回false;
}
返回true;

干杯。

通过从
表单
元素中删除dojoType属性,您已恢复为通用HTML表单。如果您想使用Dojo表单验证,您可以通过以下方式来实现

您需要使用:
dijit.form.form

<head>
    <script type="text/javascript">
        dojo.require("dojo.parser");
        dojo.require("dojo.form.Form");
        dojo.require("dojo.form.ValidationTextBox");
        dojo.require("dojo.form.Button");
        // more includes here...
    </script>
</head>
<body>
    <form dojoType="dijit.form.Form" action="..." method="...">
        <input dojoType="dijit.form.ValidationTextBox" trim="true" regExp="..." invalidMessage="Oops...">
        <!-- // more form elemts here... -->
        <button type="submit" dojoType="dijit.form.Button" ...>
            Submit
        </button>
        <script type="dojo/method" event="onSubmit">
            if (!this.validate()) {
                alert("Form contains invalid data.  Please correct....");
                return false;
            }
            return true;
        <script>
    </form>
</body>

require(“dojo.parser”);
dojo.require(“dojo.form.form”);
require(“dojo.form.ValidationTextBox”);
require(“dojo.form.Button”);
//更多包括在这里。。。
提交
如果(!this.validate()){
警报(“表单包含无效数据。请更正…”);
返回false;
}
返回true;

干杯。

您是否在IE8标准模式下运行?。。。您是在本地主机环境、Intranet服务器还是Internet服务器上进行测试?我在本地计算机上运行IE8。您是在IE8标准模式下运行的吗?。。。您是在本地主机环境、Intranet服务器还是Internet服务器上进行测试?我在本地计算机上运行IE8。我发现问题在于有两个表单元素。dojo表单元素嵌套在另一个dojo表单元素中,该元素设置在“母版”或根页面级别。通过删除dojo,我删除了冗余的dojo标记。我还注意到那里的dojo标记也不正确。如果它确实需要存在,而它没有,那么它应该被设置为dijit.form.form…正如您所说的,而不是dijit.form。所以这个dojo表单有很多问题,但我们现在都很好。@Benny,我明白了,很好,你把它解决了。希望我贴的例子能对你或其他人有所帮助。是的,这篇文章对我仍然很有用。谢谢。我发现问题是有两个表单元素。dojo表单元素嵌套在另一个dojo表单元素中,该元素设置在“母版”或根页面级别。通过删除dojo,我删除了冗余的dojo标记。我还注意到那里的dojo标记也不正确。如果它确实需要存在,而它没有,那么它应该被设置为dijit.form.form…正如您所说的,而不是dijit.form。所以这个dojo表单有很多问题,但我们现在都很好。@Benny,我明白了,很好,你把它解决了。希望我贴的例子能对你或其他人有所帮助。是的,这篇文章对我仍然很有用。谢谢。digit.form已经在我的代码中我正在删除导致错误的重复标记digit.form已经在我的代码中我正在删除导致错误的重复标记