У меня в настоящее время есть форма, как я могу сделать так, чтобы 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;
});