2010-09-24 2 views
1

По какой-то причине мой код отображается правильно во всех браузерах, кроме IE8.Вид Dojo в IE 8

<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._%+-][email protected][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“? dojo.js

+0

Вы работаете в стандартном режиме IE8? ... и тестируете ли вы локальную среду, сервер интрасети или интернет-сервер? – scunliffe

+0

Я запускал IE8 и на своем локальном компьютере. –

ответ

0

Я удалил dojoType =» dijit.form " из тега формы, и она работает.

+0

Dig.form уже был в моем коде, я удалял повторяющиеся теги, которые вызывали ошибку –

1

удаляя dojoType атрибута из вашего form элемента, вы вернулись к общей форме 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> 

Приветствия.

+0

. Я нашел проблему, было 2 элемента формы. Элемент формы dojo был вложен в другой элемент формы dojo, который был установлен на уровне «master» или «root». Удалив додзё, я удалил лишние теги dojo. Я также заметил, что тег dojo был неправильным. Если он действительно должен был быть там, чего он не сделал, он должен был быть помещен как dijit.form.Form ... поскольку вы заявили не как dijit.form. Итак, с этой формой додзё было всего несколько проблем, но мы все хорошо сейчас. –

+0

@ Benny Вижу, хорошо, что вы его разобрали. Надеюсь, приведенный выше пример может быть полезен вам или кому-то еще. –

+0

Да, сообщение все еще очень полезно для меня. Спасибо. –