Dapatkah seseorang menyarankan cara untuk membandingkan nilai dua tanggal yang lebih besar dari, kurang dari, dan tidak di masa lalu menggunakan JavaScript? Nilai akan berasal dari kotak teks.
Dapatkah seseorang menyarankan cara untuk membandingkan nilai dua tanggal yang lebih besar dari, kurang dari, dan tidak di masa lalu menggunakan JavaScript? Nilai akan berasal dari kotak teks.
Jawaban:
The Tanggal objek akan melakukan apa yang Anda inginkan - membangun satu untuk setiap tanggal, kemudian membandingkannya menggunakan >
, <
, <=
atau >=
.
The ==
, !=
, ===
, dan !==
operator meminta Anda untuk menggunakan date.getTime()
seperti di
var d1 = new Date();
var d2 = new Date(d1);
var same = d1.getTime() === d2.getTime();
var notSame = d1.getTime() !== d2.getTime();
untuk menjadi jelas hanya memeriksa persamaan langsung dengan objek tanggal tidak akan berfungsi
var d1 = new Date();
var d2 = new Date(d1);
console.log(d1 == d2); // prints false (wrong!)
console.log(d1 === d2); // prints false (wrong!)
console.log(d1 != d2); // prints true (wrong!)
console.log(d1 !== d2); // prints true (wrong!)
console.log(d1.getTime() === d2.getTime()); // prints true (correct)
Saya sarankan Anda menggunakan drop-down atau bentuk entri tanggal yang dibatasi serupa daripada kotak teks, meskipun, jangan sampai Anda menemukan diri Anda dalam neraka validasi input.
setHours(0,0,0,0)
dengan cara ini. Menghilangkan kebutuhan untuk menelepon setMinutes()
dll. Juga, mengeksekusi lebih cepat.
toString()
metode ini saja pada kedua tanggal dan kemudian membandingkannya dengan ==
operator? Tampaknya jauh lebih mudah daripada mengatur ulang waktu dan membandingkan setelah itu, apakah ada kelemahan untuk ini?
Cara termudah untuk membandingkan tanggal dalam javascript adalah dengan terlebih dahulu mengubahnya menjadi objek Date dan kemudian membandingkan objek-tanggal ini.
Di bawah ini Anda menemukan objek dengan tiga fungsi:
Date.compare (a, b)
Mengembalikan nomor:
Date.inRange (d, mulai, akhir)
Mengembalikan boolean atau NaN:
tanggal. konversi
Digunakan oleh fungsi lain untuk mengonversi input mereka ke objek tanggal. Inputnya bisa
.
// Source: http://stackoverflow.com/questions/497790
var dates = {
convert:function(d) {
// Converts the date in d to a date-object. The input can be:
// a date object: returned without modification
// an array : Interpreted as [year,month,day]. NOTE: month is 0-11.
// a number : Interpreted as number of milliseconds
// since 1 Jan 1970 (a timestamp)
// a string : Any format supported by the javascript engine, like
// "YYYY/MM/DD", "MM/DD/YYYY", "Jan 31 2009" etc.
// an object : Interpreted as an object with year, month and date
// attributes. **NOTE** month is 0-11.
return (
d.constructor === Date ? d :
d.constructor === Array ? new Date(d[0],d[1],d[2]) :
d.constructor === Number ? new Date(d) :
d.constructor === String ? new Date(d) :
typeof d === "object" ? new Date(d.year,d.month,d.date) :
NaN
);
},
compare:function(a,b) {
// Compare two dates (could be of any type supported by the convert
// function above) and returns:
// -1 : if a < b
// 0 : if a = b
// 1 : if a > b
// NaN : if a or b is an illegal date
// NOTE: The code inside isFinite does an assignment (=).
return (
isFinite(a=this.convert(a).valueOf()) &&
isFinite(b=this.convert(b).valueOf()) ?
(a>b)-(a<b) :
NaN
);
},
inRange:function(d,start,end) {
// Checks if date in d is between dates in start and end.
// Returns a boolean or NaN:
// true : if d is between start and end (inclusive)
// false : if d is before start or after end
// NaN : if one or more of the dates is illegal.
// NOTE: The code inside isFinite does an assignment (=).
return (
isFinite(d=this.convert(d).valueOf()) &&
isFinite(start=this.convert(start).valueOf()) &&
isFinite(end=this.convert(end).valueOf()) ?
start <= d && d <= end :
NaN
);
}
}
(a > b) - (a < b)
berguna untuk mengurutkan array tanggal
Array.prototype.sort
selama semua nilai adalah tanggal yang valid. Jika mungkin ada tanggal yang tidak valid, saya sarankan menggunakan sesuatu sepertifunction ( a, b ) { a = a === undefined || a === null : NaN : a.valueOf( a ); b = a === undefined || b === null : NaN : a.valueOf( b ); return isFinite( a ) && isFinite( b ) ? ( a > b ) - ( a < b ) : NaN; }
return a - b
lebih sederhana dan menggantikan seluruh pernyataan pengembalian.
Bandingkan <
dan >
seperti biasa, tetapi apa pun yang melibatkan =
harus menggunakan +
awalan. Seperti itu:
var x = new Date('2013-05-23');
var y = new Date('2013-05-23');
// less than, greater than is fine:
x < y; => false
x > y; => false
x === y; => false, oops!
// anything involving '=' should use the '+' prefix
// it will then compare the dates' millisecond values
+x <= +y; => true
+x >= +y; => true
+x === +y; => true
Semoga ini membantu!
x.getTime() === y.getTime()
metode, baik dibaca dan sangat cepat lihat jsperf
+
Operator berusaha untuk mengubah ekspresi menjadi Nomor. Date.valueOf()
digunakan untuk konversi (yang mengembalikan hal yang sama dengan Date.getTime()
.
<
, <=
, >
Dan >=
menggunakan algoritma yang sama ( abstrak algoritma perbandingan relasional ) di belakang layar.
Operator relasional <
<=
>
>=
dapat digunakan untuk membandingkan tanggal JavaScript:
var d1 = new Date(2013, 0, 1);
var d2 = new Date(2013, 0, 2);
d1 < d2; // true
d1 <= d2; // true
d1 > d2; // false
d1 >= d2; // false
Namun, operator persamaan ==
!=
===
!==
tidak dapat digunakan untuk membandingkan (nilai) tanggal karena :
- Dua objek berbeda tidak pernah sama untuk perbandingan ketat atau abstrak.
- Ekspresi yang membandingkan Objek hanya benar jika operan mereferensikan Obyek yang sama.
Anda dapat membandingkan nilai tanggal untuk persamaan menggunakan salah satu dari metode ini:
var d1 = new Date(2013, 0, 1);
var d2 = new Date(2013, 0, 1);
/*
* note: d1 == d2 returns false as described above
*/
d1.getTime() == d2.getTime(); // true
d1.valueOf() == d2.valueOf(); // true
Number(d1) == Number(d2); // true
+d1 == +d2; // true
Keduanya Date.getTime()
dan Date.valueOf()
mengembalikan jumlah milidetik sejak 1 Januari 1970, 00:00 UTC. Operator Number
fungsi dan unary +
memanggil valueOf()
metode di belakang layar.
Thursday, 10 Aug 2017
adalah format non-standar dan browser yang berbeda mungkin menguraikannya secara berbeda, atau tidak menguraikannya sama sekali. Lihat catatan di Date.parse
.
Sejauh ini metode termudah adalah dengan mengurangi satu tanggal dari yang lain dan membandingkan hasilnya.
var oDateOne = new Date();
var oDateTwo = new Date();
alert(oDateOne - oDateTwo === 0);
alert(oDateOne - oDateTwo < 0);
alert(oDateOne - oDateTwo > 0);
Membandingkan tanggal di JavaScript cukup mudah ... JavaScript telah built-in sistem perbandingan untuk tanggal yang membuatnya begitu mudah untuk melakukan perbandingan ...
Cukup ikuti langkah-langkah ini untuk membandingkan nilai 2 tanggal, misalnya Anda memiliki 2 input yang masing-masing memiliki nilai Tanggal String
dan Anda membandingkannya ...
1. Anda memiliki 2 nilai string yang Anda dapatkan dari input dan Anda ingin membandingkannya, seperti di bawah ini:
var date1 = '01/12/2018';
var date2 = '12/12/2018';
2. Mereka perlu Date Object
dibandingkan sebagai nilai tanggal, jadi cukup konversikan menjadi tanggal, dengan menggunakan new Date()
, saya hanya menetapkan ulang untuk kesederhanaan penjelasan, tetapi Anda tetap dapat melakukannya jika Anda suka:
date1 = new Date(date1);
date2 = new Date(date2);
3. Sekarang cukup membandingkannya, menggunakan>
<
>=
<=
date1 > date2; //false
date1 < date2; //true
date1 >= date2; //false
date1 <= date2; //true
<
, >
, <=
, >=
) yang digunakan, benda-benda Tanggal dikonversi pertama yang unix zaman (detik), dan bekerja dengan baik. Namun ini mungkin mengarah pada kesalahan umum melakukan di date1 == date2
mana memang kesalahan diperkenalkan bukan nilai tetapi contoh kesetaraan diperiksa. Untuk mencegah hal ini dan memeriksa kesetaraan dari nilai tanggal ini akan berhasil date1.valueOf() == date2.valueOf()
date1+0 == date2+0
Note: Parsing of strings with Date.parse is strongly discouraged due to browser differences and inconsistencies.
dan Note: Parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies.
Bandingkan hanya hari (mengabaikan komponen waktu):
Date.prototype.sameDay = function(d) {
return this.getFullYear() === d.getFullYear()
&& this.getDate() === d.getDate()
&& this.getMonth() === d.getMonth();
}
Pemakaian:
if(date1.sameDay(date2)) {
// highlight day on calendar or something else clever
}
format apa?
Jika Anda membuat objek Tanggal Javascript , Anda bisa mengurangi mereka untuk mendapatkan perbedaan milidetik (edit: atau bandingkan saja):
js>t1 = new Date()
Thu Jan 29 2009 14:19:28 GMT-0500 (Eastern Standard Time)
js>t2 = new Date()
Thu Jan 29 2009 14:19:31 GMT-0500 (Eastern Standard Time)
js>t2-t1
2672
js>t3 = new Date('2009 Jan 1')
Thu Jan 01 2009 00:00:00 GMT-0500 (Eastern Standard Time)
js>t1-t3
2470768442
js>t1>t3
true
==
masalah perbandingan yang disebutkan di atas.
Anda menggunakan kode ini,
var firstValue = "2012-05-12".split('-');
var secondValue = "2014-07-12".split('-');
var firstDate=new Date();
firstDate.setFullYear(firstValue[0],(firstValue[1] - 1 ),firstValue[2]);
var secondDate=new Date();
secondDate.setFullYear(secondValue[0],(secondValue[1] - 1 ),secondValue[2]);
if (firstDate > secondDate)
{
alert("First Date is greater than Second Date");
}
else
{
alert("Second Date is greater than First Date");
}
Dan juga periksa tautan ini http://www.w3schools.com/js/js_obj_date.asp
JAWABAN SINGKAT
Berikut adalah fungsi yang mengembalikan {boolean} jika dari dateTime> ke dateTime Demo beraksi
var from = '08/19/2013 00:00'
var to = '08/12/2013 00:00 '
function isFromBiggerThanTo(dtmfrom, dtmto){
return new Date(dtmfrom).getTime() >= new Date(dtmto).getTime() ;
}
console.log(isFromBiggerThanTo(from, to)); //true
Penjelasan
var date_one = '2013-07-29 01:50:00',
date_two = '2013-07-29 02:50:00';
//getTime() returns the number of milliseconds since 01.01.1970.
var timeStamp_date_one = new Date(date_one).getTime() ; //1375077000000
console.log(typeof timeStamp_date_one);//number
var timeStamp_date_two = new Date(date_two).getTime() ;//1375080600000
console.log(typeof timeStamp_date_two);//number
karena Anda sekarang memiliki kedua datetime dalam tipe angka, Anda dapat membandingkannya dengan operasi Perbandingan apa pun
(>, <, =,! =, ==,! ==,> = DAN <=)
Kemudian
jika Anda terbiasa dengan C#
String Format Tanggal dan Waktu Kustom, perpustakaan ini harus melakukan hal yang sama persis dan membantu Anda memformat tanggal dan waktu Anda dtmFRM apakah Anda memasukkan string waktu tanggal atau format unix
Pemakaian
var myDateTime = new dtmFRM();
alert(myDateTime.ToString(1375077000000, "MM/dd/yyyy hh:mm:ss ampm"));
//07/29/2013 01:50:00 AM
alert(myDateTime.ToString(1375077000000,"the year is yyyy and the day is dddd"));
//this year is 2013 and the day is Monday
alert(myDateTime.ToString('1/21/2014', "this month is MMMM and the day is dd"));
//this month is january and the day is 21
yang harus Anda lakukan adalah melewati salah satu dari format ini yang js
disimpan dalam file library
Cara sederhana adalah,
var first = '2012-11-21';
var second = '2012-11-03';
if (new Date(first) > new Date(second) {
.....
}
Catatan - Bandingkan Hanya Tanggal Bagian:
Ketika kita membandingkan dua tanggal dalam javascript. Dibutuhkan jam, menit dan detik juga menjadi pertimbangan .. Jadi Jika kita hanya perlu membandingkan tanggal saja, inilah pendekatannya:
var date1= new Date("01/01/2014").setHours(0,0,0,0);
var date2= new Date("01/01/2014").setHours(0,0,0,0);
Sekarang: if date1.valueOf()> date2.valueOf()
akan bekerja seperti pesona.
var date = new Date(); // will give you todays date.
// following calls, will let you set new dates.
setDate()
setFullYear()
setHours()
setMilliseconds()
setMinutes()
setMonth()
setSeconds()
setTime()
var yesterday = new Date();
yesterday.setDate(...date info here);
if(date>yesterday) // will compare dates
Untuk menambahkan kemungkinan lain ke banyak opsi yang ada, Anda dapat mencoba:
if (date1.valueOf()==date2.valueOf()) .....
... yang sepertinya bekerja untukku. Tentu saja Anda harus memastikan bahwa kedua tanggal tidak ditentukan ...
if ((date1?date1.valueOf():0)==(date2?date2.valueOf():0) .....
Dengan cara ini kami dapat memastikan bahwa perbandingan positif dibuat jika keduanya juga tidak ditentukan, atau ...
if ((date1?date1.valueOf():0)==(date2?date2.valueOf():-1) .....
... jika Anda lebih suka mereka tidak sama.
Via Moment.js
Jsfiddle: http://jsfiddle.net/guhokemk/1/
function compare(dateTimeA, dateTimeB) {
var momentA = moment(dateTimeA,"DD/MM/YYYY");
var momentB = moment(dateTimeB,"DD/MM/YYYY");
if (momentA > momentB) return 1;
else if (momentA < momentB) return -1;
else return 0;
}
alert(compare("11/07/2015", "10/07/2015"));
Metode mengembalikan 1 jika dateTimeA
lebih besar daridateTimeB
Metode mengembalikan 0 jika dateTimeA
sama dengandateTimeB
Metode mengembalikan -1 jika dateTimeA
kurang daridateTimeB
Date
objek.
HATI-HATI WAKTU
Tanggal javascript tidak memiliki gagasan tentang zona waktu . Ini adalah momen dalam waktu (kutu sejak zamannya) dengan fungsi praktis untuk menerjemahkan ke dan dari string di zona waktu "lokal". Jika Anda ingin bekerja dengan tanggal menggunakan objek tanggal, seperti yang dilakukan semua orang di sini, Anda ingin tanggal Anda mewakili UTC tengah malam pada awal tanggal tersebut. Ini adalah konvensi umum dan perlu yang memungkinkan Anda bekerja dengan tanggal terlepas dari musim atau zona waktu pembuatannya. Jadi Anda harus sangat waspada untuk mengelola gagasan tentang zona waktu, terutama ketika Anda membuat objek Tanggal UTC tengah malam Anda.
Sebagian besar waktu, Anda ingin tanggal Anda mencerminkan zona waktu pengguna. Klik jika hari ini adalah hari ulang tahun Anda . Pengguna di NZ dan AS mengklik pada waktu yang sama dan mendapatkan tanggal yang berbeda. Dalam hal ini, lakukan ini ...
// create a date (utc midnight) reflecting the value of myDate and the environment's timezone offset.
new Date(Date.UTC(myDate.getFullYear(),myDate.getMonth(), myDate.getDate()));
Terkadang, perbandingan internasional mengalahkan akurasi lokal. Dalam hal ini, lakukan ini ...
// the date in London of a moment in time. Device timezone is ignored.
new Date(Date.UTC(myDate.getUTCYear(), myDate.getyUTCMonth(), myDate.getUTCDate()));
Sekarang Anda dapat langsung membandingkan objek kencan Anda seperti yang disarankan oleh jawaban lain.
Setelah berhati-hati mengelola zona waktu saat Anda membuat, Anda juga harus memastikan untuk tidak menggunakan zona waktu saat Anda mengonversi kembali ke representasi string. Jadi Anda bisa menggunakan ...
toISOString()
getUTCxxx()
getTime() //returns a number with no time or timezone.
.toLocaleDateString("fr",{timezone:"UTC"}) // whatever locale you want, but ALWAYS UTC.
Dan benar-benar menghindari yang lainnya, terutama ...
getYear()
, getMonth()
,getDate()
Untuk membandingkan dua tanggal, kita dapat menggunakan perpustakaan JavaScript date.js yang dapat ditemukan di: https://code.google.com/archive/p/datejs/downloads
dan gunakan Date.compare( Date date1, Date date2 )
metode dan mengembalikan angka yang berarti hasil berikut:
-1 = date1 kurang dari date2.
0 = nilainya sama.
1 = date1 lebih bagus dari date2.
Untuk membuat tanggal dari teks gratis dalam Javascript, Anda perlu menguraikannya ke dalam objek Date ().
Anda bisa menggunakan Date.parse () yang membutuhkan percobaan teks gratis untuk mengubahnya menjadi tanggal baru tetapi jika Anda memiliki kontrol atas halaman saya akan merekomendasikan menggunakan kotak pilih HTML sebagai gantinya atau pemilih tanggal seperti kontrol kalender YUI atau jQuery UI Datepicker .
Setelah Anda berkencan seperti yang ditunjukkan orang lain, Anda dapat menggunakan aritmatika sederhana untuk mengurangi tanggal dan mengubahnya kembali menjadi beberapa hari dengan membagi angka (dalam detik) dengan jumlah detik dalam sehari (60 * 60 * 24 = 86400).
var date_today=new Date();
var formated_date = formatDate(date_today);//Calling formatDate Function
var input_date="2015/04/22 11:12 AM";
var currentDateTime = new Date(Date.parse(formated_date));
var inputDateTime = new Date(Date.parse(input_date));
if (inputDateTime <= currentDateTime){
//Do something...
}
function formatDate(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
hours = hours < 10 ? '0'+hours : hours ;
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours+":"+minutes+ ' ' + ampm;
return date.getFullYear()+ "/" + ((date.getMonth()+1) < 10 ? "0"+(date.getMonth()+1) :
(date.getMonth()+1) ) + "/" + (date.getDate() < 10 ? "0"+date.getDate() :
date.getDate()) + " " + strTime;
}
Versi perbaikan kode yang diposting oleh "some"
/* Compare the current date against another date.
*
* @param b {Date} the other date
* @returns -1 : if this < b
* 0 : if this === b
* 1 : if this > b
* NaN : if a or b is an illegal date
*/
Date.prototype.compare = function(b) {
if (b.constructor !== Date) {
throw "invalid_date";
}
return (isFinite(this.valueOf()) && isFinite(b.valueOf()) ?
(this>b)-(this<b) : NaN
);
};
pemakaian:
var a = new Date(2011, 1-1, 1);
var b = new Date(2011, 1-1, 1);
var c = new Date(2011, 1-1, 31);
var d = new Date(2011, 1-1, 31);
assertEquals( 0, a.compare(b));
assertEquals( 0, b.compare(a));
assertEquals(-1, a.compare(c));
assertEquals( 1, c.compare(a));
Jika berikut adalah format tanggal Anda, Anda dapat menggunakan kode ini:
var first = '2012-11-21';
var second = '2012-11-03';
if(parseInt(first.replace(/-/g,""),10) > parseInt(second.replace(/-/g,""),10)){
//...
}
Ini akan memeriksa apakah 20121121
angkanya lebih besar 20121103
atau tidak.
first == second
atau first < second
atau first > second
. Itu salah satu dari banyak keindahan dengan ISO8601 dibandingkan dengan MM / DD / YY, DD / MM / YY, YY / DD / MM, DD / YY / MM atau MM / YY / DD.
Saya biasanya menyimpan Dates
seperti timestamps(Number)
di database.
Ketika saya perlu membandingkan, saya cukup membandingkan antara cap waktu atau
mengubahnya menjadi Objek Tanggal dan kemudian bandingkan dengan > <
jika perlu.
Perhatikan bahwa == atau === tidak berfungsi dengan baik kecuali variabel Anda adalah referensi dari Objek Tanggal yang sama.
Konversikan objek Date tersebut menjadi stempel waktu (angka) terlebih dahulu dan kemudian bandingkan persamaannya.
var timestamp_1970 = new Date(0).getTime(); // 1970-01-01 00:00:00
var timestamp = new Date().getTime(); // Current Timestamp
var timestamp = 0; // 1970-01-01 00:00:00
var DateObject = new Date(timestamp);
Sebelum membandingkan Dates
objek, coba atur kedua milidetiknya ke nol seperti Date.setMilliseconds(0);
.
Dalam beberapa kasus di mana Date
objek dibuat secara dinamis dalam javascript, jika Anda terus mencetak Date.getTime()
, Anda akan melihat milidetik berubah, yang akan mencegah persamaan kedua tanggal.
Hari ini 2020.02.27 Saya melakukan tes solusi yang dipilih pada Chrome v80.0, Safari v13.0.5 dan Firefox 73.0.1 pada MacOs High Sierra v10.13.6
d1==d2
(D) dan d1===d2
(E) adalah yang tercepat untuk semua browsergetTime
(A) lebih cepat dari valueOf
(B) (keduanya sedang cepat)Di bawah ini cuplikan solusi yang digunakan dalam tes kinerja disajikan. Anda dapat melakukan tes di mesin Anda DI SINI
Hasil untuk chrome
d1==d2
atau d1===d2
tidak berguna dalam konteks pertanyaan.
from_date ='10-07-2012';
to_date = '05-05-2012';
var fromdate = from_date.split('-');
from_date = new Date();
from_date.setFullYear(fromdate[2],fromdate[1]-1,fromdate[0]);
var todate = to_date.split('-');
to_date = new Date();
to_date.setFullYear(todate[2],todate[1]-1,todate[0]);
if (from_date > to_date )
{
alert("Invalid Date Range!\nStart Date cannot be after End Date!")
return false;
}
Gunakan kode ini untuk membandingkan tanggal menggunakan javascript.
Terima kasih D. Jova
var curDate=new Date();
var startDate=document.forms[0].m_strStartDate;
var endDate=document.forms[0].m_strEndDate;
var startDateVal=startDate.value.split('-');
var endDateVal=endDate.value.split('-');
var firstDate=new Date();
firstDate.setFullYear(startDateVal[2], (startDateVal[1] - 1), startDateVal[0]);
var secondDate=new Date();
secondDate.setFullYear(endDateVal[2], (endDateVal[1] - 1), endDateVal[0]);
if(firstDate > curDate) {
alert("Start date cannot be greater than current date!");
return false;
}
if (firstDate > secondDate) {
alert("Start date cannot be greater!");
return false;
}
Inilah yang saya lakukan di salah satu proyek saya,
function CompareDate(tform){
var startDate = new Date(document.getElementById("START_DATE").value.substring(0,10));
var endDate = new Date(document.getElementById("END_DATE").value.substring(0,10));
if(tform.START_DATE.value!=""){
var estStartDate = tform.START_DATE.value;
//format for Oracle
tform.START_DATE.value = estStartDate + " 00:00:00";
}
if(tform.END_DATE.value!=""){
var estEndDate = tform.END_DATE.value;
//format for Oracle
tform.END_DATE.value = estEndDate + " 00:00:00";
}
if(endDate <= startDate){
alert("End date cannot be smaller than or equal to Start date, please review you selection.");
tform.START_DATE.value = document.getElementById("START_DATE").value.substring(0,10);
tform.END_DATE.value = document.getElementById("END_DATE").value.substring(0,10);
return false;
}
}
memanggil ini di form onsubmit. semoga ini membantu.