Kode skillpath no.7-10 tidak keluar hasil apa-apa ketika di running

selamat malam kakak mentor skilvul…mohon dibantu di cek kode JS untuk skilpath no. 7-10 saya ini kurangnya dimana ya ? karena saya coba running tapi tidak muncul hasilnya dan notifikasi error juga tidak ada. Jadi saya bingung kode nya sudah benar atau belum. Mohon dibantu ya :pray:

Hi @Fadilla_Syukriah

Boleh kirim seluruh kodenya yaa, berupa code dari pada screenshot biar lebih mudah saya cek dan debug langsung.

Sekilas yang bisa saya bantu komen adalah pada baris 43, boleh gunakan function yg sudah kamu buat sebelumnya yaa. Coba ganti data.zipcode === number dan data.status == checked ke menggunakan isNumber dan checkboxIsChecked

Kedua, kalau bisa function submit nya tidak menerima argumen apapun. Parameter data boleh di hapus yaa.

Ketiga, pada baris 62 penggunaan delete nya tidak tepat. boleh hapus saja, dan buat seperti ini saja

return warning..innerText = ""

Semangat :muscle:. Kabari kalau masih bingung yaa

sudah saya coba sesuai sarannya mas, tapi masih belum bisa. berikut kodenya

function handleGetFormData(){

const inputName=document.getElementById("name")

const inputCity=document.getElementById("city")

const inputEmail=document.getElementById("email")

const inputZipCode=document.getElementById("zip.code")

const inputStatus=document.getElementById("status")

    const data={

        name    : inputName.value,

        city    : inputCity.value,

        email   : inputEmail.value,

        zipCode : inputZipCode.value,

        status  : inputStatus.value

    }

    return (data);

}

const btnSubmit =document.getElementById("form-submit")

btnSubmit.addEventListener('click', function(event){

    event.preventDefault()

console.log(handleGetFormData());

})

//validasi untuk memastikan tidak terjadi kesalahan input

const isNumber=()=>{

    if(!isNaN(zipCode)){

        return true

    }else{

        return false

}

}

   

const checkBoxIsChecked=(status)=>{

    if(status===checked){

        return true

    }else{

        return false

    }

}

const validateFormData=()=>{

    if(data!==null && isNumber() && checkBoxIsChecked()){

        return true

    }else{

        return false

    }

}

const submit=()=>{

 

     if(validateFormData()===false){

        const warning=document.getElementById("warning")

        warning.textContent="Periksa form anda sekali lagi";

        return warning.innerText

    }else{

        return warning.innerText="";

    }

   

    btnSubmit.addEventListener('click', function(event){

    event.preventDefault()

    console.log(submit());
    })
}

berikut kode htmlnya





Dengan ini saya menyatakan data yang diisi pada form ini adalah benar dan telah sesuai. Submit
</form>

berikut kode htmlnya

    <input id="name" type="text" placeholder="name" ><br/>

    <input id="city" type="text" placeholder="city"><br/>

    <input id="email" type="email" placeholder="email"><br/>

    <input id="zip.code" type="number" placeholder="zip.code"><br/>

    <label id="check">Dengan ini saya menyatakan data yang diisi pada form ini adalah benar dan telah sesuai. </label>

    <input id="status" type="checkbox">

    <button id="form-submit" type="submit">Submit</button><br/>

    <div id="warning"></div>

</form>

Hi @Fadilla_Syukriah ,

Masih banyak yang salah yaa disini.

Bagian ini boleh di hapus saja

Pada bagian di bawah ini, kamu menggunakan zipCode tapi ga pernah buat variabel dengan nama seperti itu.

Pertama, kita cek soal dulu ya. Di soal gini nih dimintanya, ** buat sebuah function bernama isNumber yang menerima 1 argumen string**
oke berarti isNumber ini perlu kasih 1 parameter. kita namakan input aja untuk parameternya

const isNumber = (input) => {
  if (!isNaN(input)) {
    // lanjut
  }
}

Kedua, soal untuk checkBoxIsChecked. buat sebuah function bernama checkboxIsChecked yang mengembalikan true apabila <input> dengan id status dicentang. Selain itu, kembalikan nilai false.

Kebetulan kita sudah membuat function yang salah satu return value nya adalah input dengan id status. Kita coba gunakan function itu aja.

const checkBoxIsChecked = () => {
    if(handleGetFormData().status){
        return true
    }else{
        return false
    }
}

Ketiga, Buat sebuah function bernama validateFormData yang menerima 1 argumen objek. Oke sip.

// object ini bisa di namakan apa aja. Di namakan data pun tidak masalh
const validateFormData=(object)=>{
    if(object!==null && isNumber(object.zipCode) && checkBoxIsChecked()){
      // lanjut
    }
}

Terakhir, Submit. Pada bagian ini, boleh masukkan handleGetFormData sebagai argumen dari validateFormData yaa. validateFormData(handleGetFormData()).

Ini boleh di hapus. Entah kenapa ada disitu

Boleh di coba dulu yaa, saya sengaja ga kasih jawaban langsung biar bisa terbiasa debugging. Semangat :rocket: