Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Mengakses array di dalam objek yang ada di dalam function
Ada yg bisa bantu mengenai soal dibawah? Yang bermasalah di fungsi validateFormData() dan submit()
1. Buat sebuah fungsi bernama validateFormData yang menerima 1 argument objek dengan properti:
- firstName
- lastName
- city
- zipCode
Kembalikan true jika:
- objek mempunyai semua properti di atas, dan
- masing-masing properti di objek mempunyai nilai, dan
- nilai dari properti zipCode harus dalam bentuk angka, dan
- attribute checked dari <input> dengan id check harus true
Jika tidak, kembalikan false
Hint: Gunakan fungsi isLength, isNumber dan checkboxIsChecked
2. Buat sebuah fungsi bernama submit dan panggil fungsi ini ketika <form> disubmit.
Panggil fungsi validateFormData di fungsi submit tersebut, dan apabila validateFormData mengembalikan nilai false, maka fungsi submit akan menampilkan teks Periksa form anda sekali lagi di <div> dengan id warning. Jika validateFormData mengembalikan nilai true, maka teks di dalam <div> dengan id warning akan dihapus.
// Tambahkan kode JavaScript kalian di file ini
//let arr = [];
let pesan = document.getElementById("warning");
let tombol = document.getElementById("submit-form-button");
function getFormData() {
let obj = {
firstName: document.getElementById("first-name").value,
lastName: document.getElementById("last-name").value,
city: document.getElementById("city").value,
zipCode: document.getElementById("zip-code").value,
check: document.getElementById("check").checked
}
return obj;
}
function isNumber(string) {
return !isNaN(string);
}
function isLength(string, integer) {
return string.length == integer;
}
function checkboxIsChecked() {
return check.checked;
}
function validateFormData() {
//const object = {
// firstName: isLength,
// lastName: isLength,
// city: isLength,
// zipCode: isLength
//}
//arr.push(object);
//const arr = ['firstName','lastName','city','zipCode'];
//const zip = object.zipCode;
let obyek = {
arr: ['firstName', 'lastName', 'city', 'zipCode']
}
if (isLength(obyek, 4) == true && isNumber(arr[3]) == true && checkboxIsChecked() == true) {
return true;
} else {
return false;
}
}
function resetForm() {
document.forms[0].reset();
}
//submitFormButton.onclick = resetForm();
function submit() {
if (validateFormData() == false) {
pesan.innerHTML = "Periksa form anda sekali lagi";
} else {
pesan.innerHTML = "";
}
}
//document.getElementById("submit-form-button").addEventListener("click", obj);
2 Jawaban:
<div>Hi <a href="https://sekolahkoding.com/user/aiiaulia">@aiiaulia</a>,<br>semoga membantu</div><pre>function validateFormData(obj) { const properties = ['firstName', 'lastName', 'city', 'zipCode'] const checkedInput = document.getElementById('input').checked
properties.forEach((p) => { // objek mempunyai semua properti di atas if (!(p in obj)) { return false }
// masing-masing properti di objek mempunyai nilai
if (obj[p] === undefined) {
return false
}
// nilai dari properti zipCode harus dalam bentuk angka
if (isNaN(obj[p])) {
return false
}
})
// attribute checked dari <input> dengan id check harus true if (!checkedInput) { return false }
return true }
function submit() { const obj = {} // ini terserah ambil dari mana let message = ''
if (!validateFormData(obj)) { message = 'Periksa form anda sekali lagi' } }</pre>
<div>terimakasih ka sebelumnya, sudah sy koreksi utk validate menjadi seperti ini <br><br></div><pre>if (isLength(obyek) == true && isNumber(obyek.zipCode) == true && checkboxIsChecked() == true) {return true;} else {return false;}</pre><div><br>tp utk submit masih error</div>