Javascript 无法获取localStorage中的值以更新数据库中的值
我有一个td为可编辑内容的表。为了更新数据库中td的值,我决定使用localStorage。单击save按钮后,td中的输入值将保存到localStorage,ajax将在我的数据库中的一列中获取要替换的值 我查看Google Chrome中的应用程序,检查它是否正在保存到localStorage,并且确实如此 但当页面重新加载时,td中的值不会更改和更新。我的代码中缺少了什么Javascript 无法获取localStorage中的值以更新数据库中的值,javascript,php,sql,ajax,local-storage,Javascript,Php,Sql,Ajax,Local Storage,我有一个td为可编辑内容的表。为了更新数据库中td的值,我决定使用localStorage。单击save按钮后,td中的输入值将保存到localStorage,ajax将在我的数据库中的一列中获取要替换的值 我查看Google Chrome中的应用程序,检查它是否正在保存到localStorage,并且确实如此 但当页面重新加载时,td中的值不会更改和更新。我的代码中缺少了什么 $(document).ready(function() { $('#btnSaveFind
$(document).ready(function() {
$('#btnSaveFindings').click(function(){
var id = $(this).data('id');
var employeeName = document.getElementById('employeeName').value;
var edit = $('#date').html(); // get this field value
localStorage.setItem('date', edit);
var storeDate = localStorage.getItem('date');
$.ajax({
url: 'update_assesment.php',
type: 'post',
data: {
'id' :id,
'date': storeDate,
data: edit,
'employeeName' :employeeName
},
//datatype: 'html',
success: function(){
alert(edit);
location.reload();
}
});
});
});
“date”是我的td
中的一个示例
更新_assessment.php
<?php
$id = $_REQUEST["id"];
$employeename = $_REQUEST["employeename"];
$storeDate = $_REQUEST["date"];
$emp_name = $_REQUEST["emp_name"];
//$id_edit = $_REQUEST["id"]
try {
$pdo = new PDO('mysql:host=localhost:3306;dbname=****;', '****', '****' );
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$pdo->query( 'SET NAMES UTF8' );
$stmt = $pdo->prepare(
"UPDATE tbl_assessment
SET
`employeename` = :employeeName,
`date` = :storeDate
WHERE
`id` = :id AND employeeName = '{$_SESSION['emp_name']}'
"
);
$stmt->bindValue(':id',$id,PDO::PARAM_STR);
$stmt->bindValue(':employeeName',$employeeName,PDO::PARAM_STR);
//$stmt->bindValue(':teamCode',$teamCode,PDO::PARAM_STR);
$stmt->bindValue(':storeDate',$storeDate,PDO::PARAM_STR);
//$stmt->bindValue(':id',$id,PDO::PARAM_INT);
$stmt->execute();
header('location:./');
}catch ( PDOException $e ) {
var_dump( $e->getMessage() );
}
$pdo = null;
?>
我真的不知道它在本地存储中是否没有价值。
有什么帮助吗?如果加载时没有将存储值分配给td,请尝试将以下代码添加到
$(document).ready(function(){/*在此处添加它*/})代码>:
加载时不将存储值分配给td,请尝试将以下代码添加到$(document).ready(函数(){/*在此处添加它*/})的第一位代码>:
如何设置onload的值?session_start()在哪里,或者$_sessionvar在那里做什么?您需要添加类似于$('.#date').html(localStorage.getItem('date')|的内容)代码>在页面加载中设置值。您正在重新加载,这意味着值将丢失。现在它将在localStorage中获取值。但它不会更新数据库中的值。该td上的值必须是localStorage上的值。TD在我的数据库中有一列,其值为null。因此,如果用户输入数据,它将成为数据库中该列中的值。如何设置onload的值?session_start()在哪里,或者$_sessionvar在那里做什么?您需要添加类似于$('.#date').html(localStorage.getItem('date')|的内容)代码>在页面加载中设置值。您正在重新加载,这意味着值将丢失。现在它将在localStorage中获取值。但它不会更新数据库中的值。该td上的值必须是localStorage上的值。TD在我的数据库中有一列,其值为null。因此,如果用户将输入数据,它将成为DBS中该列的值,现在它在localStorage中获得该值。但它不会更新数据库中的值。td上的值必须是localStorage上的值。这是什么意思?是否要从localStorage获取值,然后将其更新到数据库?如果是这样的话,只需$('#btnSaveFindings')。触发('click')代码>。是的,因为这是我认为更新数据库使td内容可编辑的第一种方法。。。用于前端编辑。该代码将保留按钮以供单击。现在它将在localStorage中获取值。但它不会更新数据库中的值。td上的值必须是localStorage上的值。这是什么意思?是否要从localStorage获取值,然后将其更新到数据库?如果是这样的话,只需$('#btnSaveFindings')。触发('click')代码>。是的,因为这是我认为更新数据库使td内容可编辑的第一种方法。。。用于前端编辑。该代码将保留按钮以供单击。
$('#date').html(localStorage.getItem('date') || '');