Здравствуйте и добро пожаловать в StackOverflow.
Убедитесь, что вы используете dijit.byId
для поиска диджитов (а не только их DOM-узлов с dojo.byId
), и что вы используете правильно прописанные имена событий. Попробуйте изменить send
функцию следующим образом:
function send()
{
var mainForm = dijit.byId( "mainform" );
dojo.connect( mainForm , "onSubmit", function( event )
....
Когда вы используете dojo.byId
, вы получаете обычный узел DOM (обычный тег HTML <form>
), а не фактический объект dijit (который имеет функцию validate
). По этой же причине неправильно работает «onsubmit»: в обычной HTML-форме есть событие «onsubmit», а в dijit есть только метод «onSubmit» (я согласен, это немного сбивает с толку).