@muban/muban
Version:
Writing components for server-rendered HTML
14 lines (13 loc) • 463 B
JavaScript
export function submitBinding(target, callback) {
const submitHandler = (event) => {
const returnValue = callback(event);
// by default, prevent default form execution, unless explicitly returned by the handler
if (returnValue !== true) {
event.preventDefault();
}
};
target.addEventListener('submit', submitHandler);
return () => {
target.removeEventListener('submit', submitHandler);
};
}