Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Membuat Validasi Javascript Minimum

Kok masih lolos ya master saya coba tes deposit 1 dan bayar 2 berhasil.
Tapi ketika saya buat deposit 260 bayar 190 kok lolos ya... Mohon bantuannya master....
 <!DOCTYPE html>
<html>
<head>
<script>
function validasi2(form2) {
var x = document.forms["form2"]["deposit"].value;
var xz = document.forms["form2"]["bayar"].value;
if (x<xz ) {
alert("Deposit Tidak Cukup");
return false;
 
}
}
</script>
</head>
 
<body>
<form name="form2" action="" onsubmit="return validasi2(form2)" method="post">
Deposit: <input type="text" name="deposit"> </br>
bayar: <input type="text" name="bayar">
<input type="submit" value="Submit">
</form>
</body></span>





Comments

  • edited January 12
    gimana ?

    lha kan emang bener ...

    -------------------------------------------------
    deposit : 1
    bayar : 2

    var x = document.forms["form2"]["deposit"].value; // 1
    var xz = document.forms["form2"]["bayar"].value; // 2

    if (x<xz ) { // 1 < 2 ~~ TRUE ... benar, 1 LEBIH KECIL dari 2
    alert("Deposit Tidak Cukup");
    return false;
    }

    ... muncul alert ...
    -------------------------------------------------

    -------------------------------------------------
    deposit : 260
    bayar : 190

    var x = document.forms["form2"]["deposit"].value; // 260
    var xz = document.forms["form2"]["bayar"].value; // 190

    if (x<xz ) { // 260 < 190 ~~ FALSE ... 260 kan LEBIH BESAR dari 190
    alert("Deposit Tidak Cukup");
    return false;
    }

    ... TIDAK MUNCUL alert ...
    -------------------------------------------------

    salah dimananya yah ?




    bermasalah itu jika ... misal ... :
    deposit : 260
    bayar : 35

    x = 260
    xz = 35

    x < xz
    260 < 35 ... harus nya FALSE, tidak muncul alert ... tapi kejadiannya justru alert muncul

    isi <input type="text"> itu string, bukan numerik.
    kalo pun diisi angka, itu tetep string.

    jadi kalo diambil pake .value, sebenernya bukan 260, tapi "260"

    x = "260"
    xz = "35"

    x < xz
    "260" < "35" ... TRUE ... kalo string, perbandingannya per karakter dari depan.

    "2" < "3" ... benar ... alert akan muncul




    2 < 3 ... TRUE
    "2" < "3" ... TRUE

    20 < 3 ... FALSE
    "20" < "3" ... TRUE

    <script>
    if(2<3) {alert('BENAR : 2 < 3');} else {alert('SALAH : 2 < 3, TAPI : 2 > 3');}
    if("2"<"3") {alert('BENAR : "2" < "3"');} else {alert('SALAH : "2" < "3", TAPI : "2" > "3"');}
    if(20<3) {alert('BENAR : 20 < 3');} else {alert('SALAH : 20 < 3, TAPI : 20 > 3');}
    if("20"<"3") {alert('BENAR : "20" < "3"');} else {alert('SALAH : "20" < "3", TAPI : "20" > "3"');}
    </script>

    hasil alert yg muncul pasti :
    BENAR : 2 < 3
    BENAR : "2" < "3"
    SALAH : 20 < 3, TAPI : 20 > 3
    BENAR : "20" < "3"




    kalo mau hasilnya bener, numerik diperlakukan sebagai numerik ...
    pakai :
    - parseInt
    - parseFloat
    - (int)
    - (float)
    - -0 ... "20"-0 = 20 ... tapi tidak bisa +0, karena "20"+0 = "200", bukan 20
    - *1 atau /1
    terserah, mana pun tergantung butuh dan yg nyaman dipake ...

    float atau int tergantung tipe numerik yg dipake

    int : kalo butuh bilangan bulat
    parseInt("20.5") = 20
    (int)"20.5" = 20
    parseInt("3") = 3
    (int)"3" = 3

    float : kalo butuh bilangan desimal, hasil tetap benar kalo dipake utk bilangan bulat
    parseFloat("20.5") = 20.5
    (float)"20.5" = 20.5
    parseFloat("3") = 3
    (float)"3" = 3

    -0 , *1 , /1 ... otomatis menyesuaikan sendiri
    "20.5"-0 = 20.5
    "20"-0 = 20




    <script>
    var a = "20";
    var b = "3";

    //pilih salah satu
    //a = parseInt(a);
    //a = parseFloat(a);
    //a = (int)a;
    //a = (float)a;
    //a = a-0;
    //a = a*1;
    //a = a/1;

    //pilih salah satu
    //b = parseInt(b);
    //b = parseFloat(b);
    //b = (int)b;
    //b = (float)b;
    //b = b-0;
    //b = b*1;
    //b = b/1;

    if(a<b) {alert(a+" < "+b);}
    else if(a>b) {alert(a+" > "+b);}
    else {alert(a+" = "+b);}
    </script>
  • maaf gan maksud saya deposit=260 dan bayar=1960 tetap lolos padahal mau saya jika bayar lebih besar dari deposit maka " saldo tidak cukup"

    https://s13.postimg.org/hxe3h92s7/image.png
Sign In or Register to comment.