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 元素
感谢之前,感谢任何帮助
解决方案
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);
?>
阿贾克斯请求
<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>
推荐阅读
- visual-studio - 如何修复 Visual Studio 安装程序(2019 社区)为空?
- python - 打印后清除输出
- react-native - 反应原生:Strava 身份验证进入应用程序?
- r - 协助在 R 中抓取 html 文档
- r - 如何使用 R 从 pdf 中读取多个页面?
- c# - 如何使用正则表达式将字符串拆分为 2 个列表
- postgresql - 在 POSTGRESQL 中,如何先从表中获取一些值到整数类型的变量中,然后再使用它。?
- splunk - 使用 rest api 在 Splunk 中获取数据
- php - 将多维数组转换为平面数组php
- hibernate - 将休眠从 4.x 升级到 5.x 时面临的问题