Je reçois une erreur dans IE et aussi la partie d'expression régulière de dojo.form.ValidationTextBox échoue, peu importe ce que dans n'importe quel navigateur . Qu'est-ce que je fais mal ici? Je charge la bibliothèque via l'API Google. Voici mon code, si vous pouvez aider ce serait génial. Je me demande si c'est un bug avec la bibliothèque elle-même.'dijit.form.Form' est null ou un objet dans IE et regex ne fonctionne pas
if (typeof(djConfig)=='undefined') {
djConfig = {
isDebug: false,
parseOnLoad: true
};
}
if (document.location.protocol=='https:') {
djConfig.modulePaths={
"dojo":"https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo",
"dijit":"https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dijit",
"dojox":"https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojox"
};
}
google.setOnLoadCallback(function() {
dojo.require("dijit.form.Form");
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dojox.validate.regexp");
dojo.addOnLoad(function() {
var newsletterForm = new dijit.form.Form({
action: '/newsletter.cfm',
method: 'post',
target: '_blank'
}, dojo.byId('newsletter-form'));
var newsletterEmail = new dijit.form.ValidationTextBox({
invalidMessage: 'Please double-check your email address',
promptMessage: 'Enter your email address',
regExp: '^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$',
required: true,
tooltipPosition: 'below'
}, dojo.byId('newsletter-email'));
});
});
google.load('dojo', '1.5');
Dojo a son propre chargeur qui fonctionne bien sur IE. La combinaison avec le chargeur Google n'est peut-être pas testée/prise en charge. Où avez-vous mis le setTimeout? – peller