2010-08-12 4 views
2

Я не смог остановить событие onClick? Если я просто использую dom dom с событием onclick, тогда dojo.stopEvent() работает, но не свиджетом. Я получаю сообщение об ошибке «Не удается загрузить страницу ... статус 0». Я узнал, что это происходит, когда страница обновляется, пока выполняется вызов Ajax. Я отправляю свой код. любая помощьDojo: Не удалось остановить событие «onClick» dijit

// create a button which will be replaced by the Button widget 
    var submitButton = dojo.create('button', {type:"submit", id:"submitButton"}, popupFormControlDiv); 

    var popupFormSubmitButton = new dijit.form.Button({label: "Create", type:"submit"}, "submitButton"); 

    dojo.connect(popupFormSubmitButton, "onClick", function(event) { 
     //Stop the submit event since we want to control form submission. 
     event.preventDefault(); 
     event.stopPropagation(); 
     dojo.stopEvent(event); 

     // construct the arguments for the post request 
     var xhrArgs = { 
      form: popupForm, 
      url: "/admin/sys-config/registration-form/add", 
      handleAs: "text", 
      load: function(data) { 
       console.log("success"); 
      }, 
      error: function(error) { 
       console.log("error"); 
      } 
     } 
     var deferred = dojo.xhrPost(xhrArgs); 
    }); 

ответ

0

Вы можете вернуть false в функции onClick обработчика для отмены отправки формы.

+0

спасибо ..... я даже пытался его без какого-либо успеха .... страница сразу начинает обновлять один раз пост Ajax делается – rahul

2

Я только что попробовал как с виджетами, так и с обычными кнопками, и в обоих случаях я могу получить обработчик кликов кнопки, чтобы остановить событие от отправки формы.

DOM только: http://jsbin.com/inoyo4/edit

Widgets: http://jsbin.com/ayomu4/edit

Обратите внимание, что с DOM подключиться к onclick в то время как с виджетами подключиться к onClick. Нотация верблюжьего футляра регулярно используется dijit, а виджеты dijit включают в себя множество крючков событий, которые сопоставляются со стандартными событиями DOM (в нижнем регистре) на узлах в виджетах. К сожалению, это может вызвать путаницу.

Вы можете найти это стоит прочитать: http://docs.dojocampus.org/quickstart/events

Смежные вопросы