123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- function Form(el, data, okCallback, cancelCallback) {
- let formBody = document.createElement("div");
- let okButton = document.createElement("button");
- okButton.innerHTML = "OK";
- let cancelButton = document.createElement("button");
- cancelButton.innerHTML = "Cancel";
- for (var key in data) {
- var inputs = document.createElement("input");
- var p = document.createElement('p')
- p.innerText = key
- inputs.value = data[key];
- inputs.oninput = () => {
- // data = inputs.value
- console.log(inputs.value);
- };
- el.appendChild(p)
- el.appendChild(inputs);
- }
- if (typeof okCallback === "function") {
- formBody.appendChild(okButton);
- okButton.onclick = (e) => {
- console.log(this);
- this.okCallback(e);
- };
- }
- if (typeof cancelCallback === "function") {
- formBody.appendChild(cancelButton);
- cancelButton.onclick = cancelCallback;
- }
- el.appendChild(formBody);
- this.okCallback = okCallback;
- this.cancelCallback = cancelCallback;
- this.data = data;
- this.validators = {};
- }
- let form = new Form(
- formContainer,
- {
- name: "Anakin",
- surname: "Skywalker",
- married: true,
- birthday: new Date(new Date().getTime() - 86400000 * 30 * 365),
- },
- () => console.log("ok"),
- () => console.log("cancel")
- );
- form.okCallback = () => console.log("ok2");
- form.validators.surname = (value, key, data, input) =>
- value.length > 2 && value[0].toUpperCase() == value[0] && !value.includes(" ")
- ? true
- : "Wrong name";
- console.log(form);
|