Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- 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
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

ask cara format textfield input simultan di php

Master Mohon dibantu

gimana caranya agar inputan terformat ===> 556-889 000 saat ketik di form input symultan ??

image

Scrip :

<form id="form2" name="form2" method="post" action="" onsubmit="return cekdata()">
  <table width="338" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td width="87">Date</td>
      <td width="245"><label for="tglbook"></label>
      <input type='text' name="tglbook" id="tglbook" value="<?php echo $tanggal; ?>" size="10" maxlength="10" readonly="readonly" />
      <link type="text/css" href="../js/themes/base/ui.all.css" rel="stylesheet" />
      <script type="text/javascript" src="../js/jquery-1.3.2.js"></script>
      <script type="text/javascript" src="../js/ui.core.js"></script>
      <script type="text/javascript" src="../js/ui.datepicker.js"></script>
      <script type="text/javascript">
          $(document).ready(function(){
            $("#tglbook").datepicker({
            dateFormat  : "yy-mm-dd",
              changeMonth : true,
              changeYear  : true
            
            });
          });
        
        </script>

</td>
    </tr>
    <tr>
      <td width="87">Airline</td>
      <td width="245"><label for="air_cd"></label>
      <input name="air_cd" type='text' id="air_cd" size="3" maxlength="3" readonly="readonly" />
      <input name="help" type="button" id="help" onclick="MM_openBrWindow('window/w airline_awb.php','','scrollbars=yes,width=500,height=400')" value="Help" /></td>
    </tr>
    <tr>
      <td>Airline Name</td>
      <td><label for="air_name"></label>
      <input name="air_name" type="text" id="air_name" readonly="readonly" /></td>
    </tr>
    <tr>
      <td width="87">NO</td>
      <td width="245">AWB NO</td>
    </tr>
      <?php
    $n = $_POST['jum'];
    for ($i=1; $i<=$n; $i++)
    {
 echo "
    <tr>
      <td>".$i."</td>
      <td><label for='awb_no'></label>
      <input type='text' name='awb_no".$i."' id='awb_no' /></td>
    </tr>";
    }
 ?> 
     <tr>
      <td colspan="2"> <p align="center">
    <input type="submit" name="submit" id="submit" onclick="return tanya()" value="POSTING" />
    <input type="reset" name="reset" id="reset" value="RESET" />
  </p></td>
    </tr>

  </table>
  <p>&nbsp;</p>
      <input type="hidden" name="jum" value="<?php echo $n; ?>">
      <input type="hidden" name="MM_insert" value="form2" />
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>

aq coba begini gak kok gak mau ya

<script>
  var thoudelim = "";
  var decdelim = "";
  var curr = "";
  var d=document;

  function haltnondigit(e) {
   
var
allowkey=Array(48,49,50,51,52,53,54,55,56,57,8,9,188,190,45,46,13,33,34,35,36,37,38,39,40,112,113,114,115,116,117,118,119,120,121,123,96,97,98,99,100,101,102,103,104,105,110);
    if(allowkey.indexOf(e.keyCode)==-1) return false;
    return true;
  }
function format(s) {
  // terserah dah elo mau bikin format kaya apa ...
  // semisal mau menambah 021- tiap kali di input
  var s1  = angka.substring(0, 3);
  var s2  = angka.substring(3, 7);
  var s3  = angka.substring(7, 11);
  s== s1+"-"+s2+" "+s3;
  return s;
}
  function input_keydown(t,e) {
    return haltnondigit(e);t.value=t.getAttribute('ref');
  }
  function input_keyup(t) {
    t.setAttribute('ref',t.value);
  }
  function input_onblur(t) {
    t.value=format(t.value,2);
  }
</script>

      <?php
    $n = $_POST['jum'];
    for ($i=1; $i<=$n; $i++)
    {
 echo "
    <tr>
      <td>".$i."</td>
      <td><label for='awb_no'></label>
      <input type='text' name='awb_no".$i."' id='awb_no'
        onfocus='input_focus(this);'
        onkeydown='return input_keydown(this,event);'
        onkeyup='input_keyup(this);'
        onblur='input_onblur(this);'
       />
       </td>
    </tr>";
    }
 ?> 

Comments

  • http://www.diskusiweb.com/discussion/comment/255265#Comment_255265

    coba dipahami dulu
    cuma bedanya yg di sana formatnya rupiah
    saat di klik berubah jadi isian biasa
    saat pindah field, balik lagi dgn format yg dimau
  • Master

    aq coba kosongkan var curr=" "

    kok gak bisa ya ?

        <script>
    var thoudelim="-";
    var decdelim=" ";
    var curr="";
    var d=document;

    function haltnondigit(e) {
     var allowkey=Array(48,49,50,51,52,53,54,55,56,57,8,9,188,190,45,46,13,33,34,35,36,37,38,39,40,112,113,114,115,116,117,118,119,120,121,123);
     if(allowkey.indexOf(e.keyCode)==-1) return false;
     return true;
    }
    function format(s,r) {
     s=Math.round(s*Math.pow(10,r))/Math.pow(10,r);
     s=String(s);s=s.split(".");var l=s[0].length;var t="";var c=0;
     while(l>0){t=s[0][l-1]+(c%3==0&&c!=0?thoudelim:"")+t;l--;c++;}
     s[1]=s[1]==undefined?"0":s[1];
     for(i=s[1].length;i<r;i++) {s[1]+="0";}
     return curr+t+(r==0?"":decdelim+s[1]);
    }
    function display(t,i) {
     t.value=parseFloat(t.value);
     d.getElementById(i).value=t.value;
     t.value=format(t.value,2);
    }
    function edit(t,i) { t.value=d.getElementById(i).value; }
    </script>

          <?php
        $n = $_POST['jum'];
        for ($i=1; $i<=$n; $i++)
        {
     echo "
        <tr>
          <td>".$i."</td>
          <td><label for='awb_no'></label>
          <input type='text' name='awb_no".$i."' id='awb_no'
          onblur='display(this);'
          onfocus='edit(this);'
          onkeydown='return haltnondigit(event);'/></td>
        </tr>";
        }
     ?> 
         <tr>
          <td colspan="2"> <p align="center">
        <input type="submit" name="submit" id="submit" onclick="return tanya()" value="POSTING" />
        <input type="reset" name="reset" id="reset" value="RESET" />
      </p></td>
        </tr>

      </table>
  • Master

    function display(t,i) {
     t.value=parseFloat(t.value);
     d.getElementById(i).value=t.value;
     t.value=format(t.value,2);
    }

    yang ini untuk 2 angka di belakang koma khan ??


    function format(s,r) {
     s=Math.round(s*Math.pow(10,r))/Math.pow(10,r);
     s=String(s);s=s.split(".");var l=s[0].length;var t="";var c=0;
     while(l>0){t=s[0][l-1]+(c%3==0&&c!=0?thoudelim:"")+t;l--;c++;}
     s[1]=s[1]==undefined?"0":s[1];
     for(i=s[1].length;i<r;i++) {s[1]+="0";}
     return curr+t+(r==0?"":decdelim+s[1]);
    }

    Berarti yg ini khn master ???
    mesti di otak atik gimana ? kayak bahasa planet sedikitpun gak ngerti
    Mohon pencerahannya master lobster

    ^:)^ ^:)^
  • masternya kemana ya seminggu ini ??
    :-w
  • Master Lobster

    mohon petunjuknya 
    [-O<
  • Emng lu mw nya gmn? Di pertanyaan lu mwnya "556-889 000" ( 9 digit)
    Di gambar, digitnya 11?
    Mksd gw, digit yg diinput aturannya gmn?
  • ya seperti gambar diatas
  • Pake substring ..
    Check di SINI AJA
  • pada input textfield biasa bisa tapi pada input textfield simultan tidak bisa
  • isi fungsi format() yg mesti elo ubah

    yg semula bikin format currency
    ubah jadi format kode yg elo mau
  • yang aq block biru diatas khan master ?? itu format currency nya
    mslhnya gak tau cara rubahnya
    :D
  • edited January 2016
    hapus aja isi fungsi format() nya
    sisakan cuma begini :

    function format(s) {
      // terserah dah elo mau bikin format kaya apa ...
      // semisal mau menambah 021- tiap kali di input
      s="021-"+s;
      return s;
    }
  • edited January 2016
    oalah ... elo ambil contoh nya dri sini to ...
    http://diskusiweb.com/discussion/comment/255265#Comment_255265

    itu kan input nya ada 2
    1 text, 1 hidden

    Barang A :
    <input type="text" value="Rp 1.000,00" onblur="display(this,1)" onfocus="edit(this,1)" onkeydown="return haltnondigit(event)">
    <input type=hidden name="barangA" id="1" value="1000">
    <br>

    Barang B :
    <input type="text" value="Rp 3.500,00" onblur="display(this,2)" onfocus="edit(this,2)" onkeydown="return haltnondigit(event)">
    <input type=hidden name="barangB" id="2" value="3500">
    <br>

    yg penting justru yg hidden nya
    - itu yg menyimpan angka asli tanpa format
    - dan isinya yg bakal dikirim dari form ke script, karena input itu yg punya name

    yg text cuma buat tampilan doang
  • Master

    aq coba begini gak kok gak mau ya

    <script>
      var thoudelim = "";
      var decdelim = "";
      var curr = "";
      var d=document;

      function haltnondigit(e) {
        var allowkey=Array(48,49,50,51,52,53,54,55,56,57,8,9,188,190,45,46,13,33,34,35,36,37,38,39,40,112,113,114,115,116,117,118,119,120,121,123,96,97,98,99,100,101,102,103,104,105,110);
        if(allowkey.indexOf(e.keyCode)==-1) return false;
        return true;
      }
    function format(s) {
      // terserah dah elo mau bikin format kaya apa ...
      // semisal mau menambah 021- tiap kali di input
      var s1  = angka.substring(0, 3);
      var s2  = angka.substring(3, 7);
      var s3  = angka.substring(7, 11);
      s== s1+"-"+s2+" "+s3;
      return s;
    }
      function input_keydown(t,e) {
        return haltnondigit(e);t.value=t.getAttribute('ref');
      }
      function input_keyup(t) {
        t.setAttribute('ref',t.value);
      }
      function input_onblur(t) {
        t.value=format(t.value,2);
      }
    </script>

          <?php
        $n = $_POST['jum'];
        for ($i=1; $i<=$n; $i++)
        {
     echo "
        <tr>
          <td>".$i."</td>
          <td><label for='awb_no'></label>
          <input type='text' name='awb_no".$i."' id='awb_no'
            onfocus='input_focus(this);'
            onkeydown='return input_keydown(this,event);'
            onkeyup='input_keyup(this);'
            onblur='input_onblur(this);'
           />
           </td>
        </tr>";
        }
     ?> 

  • input hidden nya mana ?
  • edited January 2016
    ini yah ?
    http://diskusiweb.com/discussion/comment/258249#Comment_258249

    sama, kalo yg satunya pake input hidden buat simpan nilai asli tanpa format ...
    yg itu pake attribute "ref"

    <input type="text" id="bayar" name="bayar[2]" value="Rp 0,00"
      rel="2000000"
      ref="0"
      onfocus="input_focus(this);"
      onkeydown="return input_keydown(this,event);"
      onkeyup="input_keyup(this);"
      onblur="input_onblur(this);"
    >

    intinya tetep sama
    harus ada bagian yg menyimpan nilai asli
    supaya bisa bolak balik antara nilai asli <-> tampilan terformat
  • master untuk input hidden buat simpan nilai asli


    $n = $_POST['jum'];
    for ($i=1; $i<=$n; $i++)
    {

    $abc=$_POST['bayar'.$i]; 

    aq pakai $abc = str_replace(',' , '', $bayar);

    pada kasus ini :

    <input type='text' name='bayar[".$i."]' id='bayar' value=".$row_htg['bayar']."
              rel=".$row_htg['hutang']."
                onfocus=\"input_focus(this);\"
                onkeydown=\"return input_keydown(this,event);\"
                onkeyup=\"input_keyup(this);\"
                onblur=\"input_onblur(this);\"
              />

  • ini aq mau buat terformat seperti pertanyaan awal master


    ask cara format textfield input simultan di php






    Master Mohon dibantu

    gimana caranya agar inputan terformat ===> 556-889 000 saat ketik di form input symultan ??

    image
  • aq coba begini gak kok gak mau ya

    <script>
      var thoudelim = "";
      var decdelim = "";
      var curr = "";
      var d=document;

      function haltnondigit(e) {
       
    var
    allowkey=Array(48,49,50,51,52,53,54,55,56,57,8,9,188,190,45,46,13,33,34,35,36,37,38,39,40,112,113,114,115,116,117,118,119,120,121,123,96,97,98,99,100,101,102,103,104,105,110);
        if(allowkey.indexOf(e.keyCode)==-1) return false;
        return true;
      }
    function format(s) {
      // terserah dah elo mau bikin format kaya apa ...
      // semisal mau menambah 021- tiap kali di input
      var s1  = angka.substring(0, 3);
      var s2  = angka.substring(3, 7);
      var s3  = angka.substring(7, 11);
      s== s1+"-"+s2+" "+s3;
      return s;
    }
      function input_keydown(t,e) {
        return haltnondigit(e);t.value=t.getAttribute('ref');
      }
      function input_keyup(t) {
        t.setAttribute('ref',t.value);
      }
      function input_onblur(t) {
        t.value=format(t.value,2);
      }
    </script>

          <?php
        $n = $_POST['jum'];
        for ($i=1; $i<=$n; $i++)
        {
     echo "
        <tr>
          <td>".$i."</td>
          <td><label for='awb_no'></label>
          <input type='text' name='awb_no".$i."' id='awb_no'
            onfocus='input_focus(this);'
            onkeydown='return input_keydown(this,event);'
            onkeyup='input_keyup(this);'
            onblur='input_onblur(this);'
           />
           </td>
        </tr>";
        }
     ?> 
  • ini elo ndak paham kah logika nya ?

    mau pake "input hidden" atau "attribute ref"
    itu utk menyimpan "nilai asli, tanpa format"

    elo butuh sesuatu buat secara bergantian muncul di input text elo
    saat di lepas, balik terformat <-- ini hasil fungsi format()
    tapi saat di input, balik ke kondisi isian asli tanpa format <-- isi asalnya dari isi input hidden atau attribute ref

    kalo elo ndak ada input hidden atau attribute "apapun", isi asli mau di dapat dari mana ?
  • isi aslinya sebelum terposting ke datebase pakai str_replace untuk menghilangkan string dan space nya 
    Bisa khn master ??

  • maksudnya bagaimana ?
    emang di database datanya tersimpan spt apa ?
    angka biasa ? atau terformat ?
  • angka biasa master
  • edited January 2016
    kalo itu, cara yg pake input hidden yg paling pas
    kalo isian masih kosong, isian data baru ...
    baik input text dan input hidden value nya juga kosong

    kecuali kalo yg elo maksud form edit
  • edited January 2016
    Master aq coba begini

    <script>
    var thoudelim=".";
    var decdelim=",";
    var curr="Rp ";
    var d=document;

    function haltnondigit(e) {
     var allowkey=Array(48,49,50,51,52,53,54,55,56,57,8,9,188,190,45,46,13,33,34,35,36,37,38,39,40,112,113,114,115,116,117,118,119,120,121,123);
     if(allowkey.indexOf(e.keyCode)==-1) return false;
     return true;
    }
    // coba format tapi tidak jalan

    function format(s) {
      // terserah dah elo mau bikin format kaya apa ...
      // semisal mau menambah 021- tiap kali di input
      var s1  = s.substring(0, 3);
      var s2  = s.substring(3, 7);
      var s3  = s.substring(7, 11);
      s== s1+"-"+s2+" "+s3;
      return s;
    }

    // ini untuk display sesuai contoh master
    function display(t,i) {
     t.value=parseFloat(t.value);
     d.getElementById(i).value=t.value;
     t.value=format(t.value,2);
    }
    function edit(t,i) { t.value=d.getElementById(i).value; }
    </script>image

          <?php
        $n = $_POST['jum'];
        for ($i=1; $i<=$n; $i++)
        {
     echo "
        <tr>
          <td>".$i."</td>
          <td><label for='awb_no'></label>
          <input type='text' value=''
            onblur='display(this);'
            onfocus='edit(this)'
            onkeydown='return haltnondigit(event)' />
            <input type='text' name='awb_no".$i."' id='awb_no' value=''
           />
    // aq coba type 'text' biar tahu mau muncul apa tidak
           </td>
        </tr>";
        }
     ?> 

    TETAP GAK BISA

    1. FORMAT TIDAK MAU
    2. KE HIDDEN JUGA TIDAK TERCOPY SAAT KETIK ANGKA

    MOhon dibantu master salahnya dimana
  • edited January 2016
    function display(t,i) {
     t.value=parseFloat(t.value);
     d.getElementById("awb_no"+i).value=t.value;
     t.value=format(t.value);
    }
    function edit(t,i) { t.value=d.getElementById("awb_no"+i).value; }

    ...

    <input type='text' value=''
    onblur='display(this,".$i.");'
    onfocus='edit(this,".$i.")'
    onkeydown='return haltnondigit(event)' />
    <input type='text' name='awb_no".$i."' id='awb_no".$i."' value=''
    />
  • ini artinya display tidak bisa dengan ID yang sama ya master ?

    Barang A :
    <input type="text" value="Rp 1.000,00"
    onblur="display(this,1)" onfocus="edit(this,1)" onkeydown="return
    haltnondigit(event)">
    <input type=hidden name="barangA" id="1" value="1000">
    <br>

    Barang B :
    <input
    type="text" value="Rp 3.500,00" onblur="display(this,2)"
    onfocus="edit(this,2)" onkeydown="return haltnondigit(event)">
    <input type=hidden name="barangB" id="2" value="3500">
    <br>
  • edited January 2016
    hidden itu isian asli dari form yg bakal dikirim ke script

    yg untuk display tampilan isian terformat malah ndak punya ID dan NAME
    soalnya selalu pake rujukan THIS dan isinya ndak pernah dikirim ke script
  • Yang ini salahnya dimana master  ??

    function format(s) {
     
      var s1  = s.substring(0, 3);
      var s2  = s.substring(3, 7);
      var s3  = s.substring(7, 11);
      s== s1+"-"+s2+" "+s3;
      return s;
    }
  • == itu untuk assigment atau perbandingan kondisi ?
  • sudah bisa master

    apa bedanya  =  vs == di javascrip master ??
  • waks ? =))

    lha emang apa beda = dan == di php ?
    di C / C++ ?
Sign In or Register to comment.