【问题标题】:update data using input type button使用输入类型按钮更新数据
【发布时间】:2017-01-10 13:57:27
【问题描述】:

我有一个带有两个 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();
?>

【问题讨论】:

  • 使用ajax将数据发布到另一个文件并更新到mysql数据库

标签: javascript php jquery


【解决方案1】:

您可以使用下面的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...
  } 
});

【讨论】:

  • 我尝试使用它,但它没有工作但数据库中没有更新
  • 请在上面查看
  • data : { data1 : 'value' // 可以在 $_POST['data1'] } 使用名称传递值
  • 参考这个stackoverflow问题stackoverflow.com/questions/20404407/…
【解决方案2】:

要更新您的数据库,您必须在服务器端进行。如果您不想重新加载页面,请使用 Ajax。如果您使用的是 JQuery,您可以看到关于 JQuery Ajax 的好消息documentation。真的很简单。

【讨论】:

  • 我尝试使用它,但它不起作用但数据库中没有更新我尝试使用它但它不起作用但数据库中没有更新
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-28
  • 2015-06-20
  • 1970-01-01
  • 1970-01-01
  • 2017-11-23
相关资源
最近更新 更多