Tengo un Dojo SubmitButton con jsId = "saveParamButtonWidget". Me overrided su método onClick poniendo:Prevención del envío de formularios con Dojo
saveParamButtonWidget.onClick = editParam
que define la función editParam() así:
function editParam(eventObj) {
dojo.stopEvent(eventObj);
// ...
}
dojo.stopEvent() se supone para detener la propagación de eventos y el procesamiento por defecto. Sin embargo, el navegador enviará el formulario de todos modos. También probé con lo siguiente:
function editParam(eventObj) {
eventObj.stopPropagation();
eventObj.preventDefault();
// ...
}
Lo mismo. La única forma que he conseguido evitar el envío de formularios es mediante la devolución de "falsa" del controlador de eventos:
function editParam(eventObj) {
// ...
return false;
}
Puede alguien decirme por qué las dos primeras formas no funcionaron? Gracias.
Por favor, dar más información: qué tipo de widget usaste (nombre completo), dojo no conoce un "SubmitButton", supongo que es un dijit.form.Button, con el tipo "submit". Un fragmento de código ayudaría mucho –
Lo siento, estaba usando el elemento de envío Dojo de Zend Framework, que se llama SubmitButton. Pero tienes razón, es un dijit.form.Button con el tipo "enviar". – Dario