验证ajax,如果不存在数据,则禁用提交按钮

时间:2020-09-24 05:59:59

标签: php ajax

我具有自动补全ajax,如果数据不存在,我想实现该功能,那么提交按钮将被禁用,如果数据存在并成功输入到表单,则启用按钮。

如何实现?我对ajax真的很陌生

    <script type="text/javascript">
      function validate(){
          var id = $("#id").val();
          $.ajax({
              type: 'get',
              url: 'ajax.php',
              data:"id="+id ,
          }).success(function (data) {
              var json = data,
              obj = JSON.parse(json);
              $('#nama').val(obj.nama);
              $('#golongan').val(obj.golongan);
              $('#divisi').val(obj.divisi);
          });
      }
    </script>

表格

<div class="form-group">
              <label for="id">ID karyawan</label>
              <input type="number" class="form-control" name="id" id="id" onkeyup="validate()" aria-describedby="id" required>
            </div>
            <div class="form-group">
              <label for="nama">Nama Karyawan</label>
              <input type="text" class="form-control readonly" name="nama" id="nama" readonly required>
            </div>
            <div class="form-group">
              <label for="golongan">Golongan</label>
              <input type="text" class="form-control" name="golongan" id="golongan" readonly required>
            </div>
            <div class="form-group">
              <label for="divisi">Divisi</label>
              <input type="text" class="form-control" name="divisi" id="divisi" readonly required>
            </div>

ajax.php

<?php
include_once "config.php";

$id = $_GET['id'];

$query = mysqli_query($koneksi, "SELECT user.id,user.nama,user.divisi,user.golongan 
                                 FROM user
                                 WHERE id='$id'");
$result = mysqli_fetch_array($query);
$data=mysqli_fetch_assoc($query);
$data = array(
            'nama'=>$result['nama'],
            'golongan'=>$result['golongan'],
            'divisi'=>$result['divisi'],);

echo json_encode($data);
?>

上面的代码是通过数据库中的ID自动完成的,如果注册了ID,则当ID以外的其他表单具有readonly textarea元素时,将自动填写表单

感谢,感谢您的帮助

1 个答案:

答案 0 :(得分:0)

ajax.php

<?php
$conn = new mysqli($servername, $username, $password, $dbname);

$id = $_GET['id'];
$query = $conn->prepare("SELECT id,nama,divisi,golongan FROM user WHERE id = ? ");
$query->bind_param("i", $id);
$query->execute();
$result = $query->get_result();
$row = $result->fetch_array();
if(count($row)) 
{
    $data = array(
                'nama'=>$row['nama'],
                'golongan'=>$row['golongan'],
                'divisi'=>$row['divisi'],
                );
}else{
    $data = array(
                'nama'=> 'error'
                );
}

echo json_encode($data);
?>

Ajax Req

<script type="text/javascript">
  function validate(){
      var id = $("#id").val();
      $.ajax({
          type: 'get',
          url: 'ajax.php',
          data:"id="+id ,
      }).success(function (data) {
          var json = data,
          obj = JSON.parse(json);
          if(obj['nama'] !== "error"){
              $('#nama').val(obj['nama']);
              $('#golongan').val(obj['golongan']);
              $('#divisi').val(obj['divisi']);
              // default disabled this input after success input enabled 
              $( "#input_id" ).prop( "disabled", false );
          }
      });
  }
</script>
相关问题