我有一个带有两个input
类型按钮的表单。第一个是编辑,当我点击它时,输入字段将被启用。第二个是保存,当我点击它时,输入字段将被禁用,我应该在mysql数据库中有新值。
除了将值更新到数据库之外,所有这些都可以正常工作。如何使用input
类型按钮进行编辑后更新此值?我无法使用提交,因为它会在重新加载页面中导致启用和禁用输入字段时出现问题。
启用和禁用的jquery代码
<script>
$(document).ready(function(){
$("form input[type=text],form input[type=checkbox]").prop("disabled",true);
$("input[name=edit]").on("click",function(){ $(this).closest("tr").find("input[type=text],input[type=checkbox],select").removeAttr("disabled");
})
$("input[name=save]").on("click",function(){ $(this).closest("tr").find("input[type=text],input[type=checkbox],select").prop("disabled",true);
})
</script>
/ ********************************************** * /
<form name='' id='' action='' method='post'>
<input type='text' name='txt_category' id='category' value='$category' disabled>
<input type='text' name='txt_stage' id='stage' value='$stage' disabled>
<input type='checkbox' name='txt_approve' id='approve' value='$approve' disabled>
<input type='button' name='edit' value='edit'>
<input type='button' name='save' id='save' value='save'>
</form>
<?php
ob_start();
include("../includes/connect.php");
$id=$_POST['txt_id'];
$stage=$_POST['txt_stage'];
$category=$_POST['txt_category'];
$priority=$_POST['txt_priority'];
$frequency=$_POST['txt_frequency'];
$notapprove=$_POST['txt_notapprove'];
$approve=$_POST['txt_approve'];
$notexist=$_POST['txt_notexist'];
$wo=$_POST['txt_wo'];
$duration=$_POST['duration'];
$startdate=$_POST['startdate'];
$enddate=$_POST['enddate'];
$asd=$_POST['txt_asd'];
$add=$_POST['txt_add'];
$aduration=$_POST['txt_aduration'];
$transferredto=$_POST['txt_transferredto'];
$prb=$_POST['txt_percentage'];
$note=$_POST['txt_note'];
$projectname=$_POST['txt_projectname'];
if($notapprove==""){$notapprove="False";}else{$notapprove="True";}
if($approve==""){$approve="False";}else{$approve="True";}
if($notexist==""){$notexist="False";}else{$notexist="True";}
$sql=mysqli_query($conn,"update tbl_checklist set db_category='$category',db_stage='$stage',db_priority='$priority',db_frequency='$frequency',db_notapprove='$notapprove',db_wo='$wo',db_asd='$asd',db_add='$add',db_aduration='$aduration',db_transferredto='$transferredto',db_percentage='$prb',db_note='$note',db_approve='$approve',db_notexist='$notexist' where db_id='$id'")or die(mysqli_error($conn));
//header("location:checklist.php?msg=1&s=$projectname");
ob_end_flush();
?>
答案 0 :(得分:0)
要更新数据库,您必须在服务器端执行此操作。如果您不想重新加载页面,请使用Ajax。如果你正在使用JQuery,你可以看到一个关于JQuery Ajax的好documentation。这很简单。
答案 1 :(得分:0)
您可以使用以下ajax方法更新数据而无需重新加载页面。
根据您所要求的请求类型,此数据将包含在$ _GET或$ _POST全局变量中。下面是一个简单的例子
$.ajax({
url: 'content/get.php',
type: 'post', // performing a POST request
data : {
data1 : 'value' // will be accessible in $_POST['data1']
},
dataType: 'json',
success: function(data)
{
// etc...
}
});