Custom Element replace button

by stopsatgreen

HTML

<template id="newButton">
    <button>Submit Two</button>
</template>
<form method="post">
    <input type="hidden" value="bums" />
    <button id="button">Submit</button>
</form>

JavaScript

var myForm = document.forms[0];
// Register new element, add method
var myProto = Object.create(HTMLButtonElement.prototype);
myProto.arses = function () {
    console.log('Arses!!!');
}
document.registerElement('my-button', {prototype: myProto});
// Create new element, insert template contents, replace existing
var btn = document.getElementById('button');
var myBtn = document.createElement('my-button');
var newBtn = document.getElementById('newButton');
var clone = document.importNode(newBtn.content, true);
myBtn.appendChild(clone);
myForm.replaceChild(myBtn,btn);
// Submit form (for testing)
myForm.onsubmit = function (e) {
    e.preventDefault();
    console.log(e);
}