Cordova Form не извиняется, если поле не заполнено - PullRequest
0 голосов
/ 21 марта 2019

У меня в настоящее время есть форма, как я могу сделать так, чтобы JavaScript не выполнялся, если форма не заполнена? Например, если у них нет названия, я получу оповещение с надписью «Пожалуйста, заполните форму». Поэтому я бы попросил пользователя заполнить форму, прежде чем он сможет добавить уведомление.

Вот мой код.

let note = {
    id: 0,
    title: "",
    text: "",
    trigger: {
        at: ""
    },
    badge: 0,
    data: {
        prop: "",
        num: 0
    }
}

let day = "";
let month = "";
let year = "";
let hour = "";
let minute = "";
let date = "";

document.getElementById("add-btn").onclick = () => {
    let id = new Date().getTime();
    let triggerDate = new Date(year, month, day, hour, minute);

    let noteOptions = {
      id: id,
      title: note.title || "Default title",
      text: note.text || "Default text",
      at: triggerDate,
      badge: 1,
      data: {
        prop: "prop value",
        num: 42
      }



    };
    cordova.plugins.notification.local.schedule(noteOptions);
    localStorage.setItem(id, JSON.stringify(noteOptions));
    navigator.notification.alert("Added notification id " + id + " will notify at: " + triggerDate.toString());

    window.open("index.html");
}

document.getElementById("title").addEventListener("change", (event) => {
    note.title = event.target.value;
});

document.getElementById("dateinput").addEventListener("blur", (event) => {
    year = "", month = "", day = "";
    date = new Date(event.target.value);

    year = date.getFullYear();
    month = date.getMonth();
    day = date.getDate() + 1;
});

document.getElementById("timeinput").addEventListener("change", (event) => {
    let time = event.target.value;
    if(time) {
        hour = (time.split(":")[0]);
        minute = (time.split(":")[1]);
    }
});

document.getElementById("text").addEventListener("change", (event) => {
    note.text = event.target.value;
});

1 Ответ

0 голосов
/ 05 апреля 2019

Вы можете проверить, установлены ли note.title и note.text.Если вам нужно больше предупреждений, вы можете продолжать ставить больше else if (condition).

document.getElementById("add-btn").onclick = () => {
    if (!note.title) {
      navigator.notification.alert('Missing title.');
    }
    else if (!note.text) {
      navigator.notification.alert('Missing text.');
    }
    else {

      let id = new Date().getTime();
      let triggerDate = new Date(year, month, day, hour, minute);
      let noteOptions = {
        id: id,
        title: note.title || "Default title",
        text: note.text || "Default text",
        at: triggerDate,
        badge: 1,
          data: {
          prop: "prop value",
          num: 42
        } 
      };
      cordova.plugins.notification.local.schedule(noteOptions);
      localStorage.setItem(id, JSON.stringify(noteOptions));
      navigator.notification.alert("Added notification id " + id + " will notify at: " + triggerDate.toString());
      window.open("index.html");

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...