- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个选择下拉列表,当它更改时我想更新数据库中的值。当我弹出 gif 时,Ajax 正在触发,控制台中没有错误,但数据库没有更新。所有其他字段(例如下面示例中的开始日期)都工作正常,因此我认为 Ajax 调用是正确的。我尝试使用 onBlur 和 onChange 作为选择的事件处理程序。
<td <form><select onblur="saveToDatabase(this,'workingpatternid', 'employmenthistory', 'employmenthistoryid','<?php echo $employmenthistory[$k3]["employmenthistoryid"]; ?>')"><option value="<?php echo $employmenthistory[$k3]["workingpattternid"]; ?>"><?php echo $employmenthistory[$k3]["text"]; ?></option><?php
if(isset($workingpatterns) && !empty($workingpatterns)){
foreach($workingpatterns as $k4=>$v4) {
?> <option value="<?php echo $workingpatterns[$k4]["workingpatternid"]; ?>"><?php echo $workingpatterns[$k4]["text"]; ?></option><?php }}?></select></form></td>
<td contenteditable="true" onBlur="saveToDatabase(this,'startdate', 'employmenthistory', 'employmenthistoryid','<?php echo $employmenthistory[$k3]["employmenthistoryid"]; ?>')" onClick="showEdit(this);"><?php echo $employmenthistory[$k3]["startdate"]; ?></td>
保存到数据库函数:
<script type="text/javascript" name = "editable fields">
function showEdit(editableObj) {
$(editableObj).css("background","#FFF");
}
function saveToDatabase(editableObj,column,table,primary,id) {
$(editableObj).css("background","#FFF url(loaderIcon.gif) no-repeat right");
$.ajax({
url: "saveedit.php",
type: "POST",
data:'column='+column+'&editval='+editableObj.innerHTML+'&table='+table+'&primary='+primary+'&id='+id,
success: function(data){
$(editableObj).css("background","#FDFDFD");
}
});
}
</script>
保存编辑.php
<?php
require_once("connect_db.php");
$table=$_POST['table'];
$column=$_POST['column'];
$value=$_POST['editval'];
$primary=$_POST['primary'];
$id=$_POST['id'];
$sql = "UPDATE `$table` SET `$column` = '$value' WHERE `$primary`='$id'";
$result = mysqli_query ($dbc, $sql) or die(mysqli_error ($dbc));
?>
最佳答案
调试正在发送的请求:
客户端
如果您在调用页面上按 F12,请转到网络控制台(我假设您使用的是 Chrome 40+ 或 IE 9+ 等较新的浏览器)并确保正在保存缓存(即不保存缓存)页面刷新时刷新)。
更新页面,清除列表,然后再次触发您的代码。注意请求是否按照您的预期发送(单击代表调用 saveedit.php 的行,然后请求)
服务器端
您可以添加对 error_log(var_export($_POST))
的调用来查看是否收到了预期的结果。结果将保存在您的网络服务器 error.log 中,因此,如果在部署后不小心留下数据,则不会向用户公开数据。
还可以通过跟踪服务器上的 access.log 来验证该页面是否正在被调用。
通过javascript获取期望值:
问题是第一次调用是在 select 中;代码可以是 editableObj.options[editableObj.selectedIndex].value
但第二个代码位于 div 元素中。您应该重新考虑您的页面设计,或者制作两个不同的功能(不推荐)
关于javascript - 选择 onblur 触发 ajax 但不更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32349812/
$('#lPass').focus(function() { if (this.value == this.defaultValue) this.value = '';
我有一个容器 div,里面包含许多输入和复选框,我想仅在容器 div 失去焦点时触发 onBlur 事件,而不是每次其中的任何元素失去焦点时触发 onBlur 事件 最佳答案 react docume
我的表单检查不起作用。如果我将别名字段留空,它将返回已填充的名称字段。 var alias = document.getElementById("alias"); var name = documen
我有一个包含 5 个字段和一个提交按钮的表单。在其中一个字段上,我有一个 onblur 事件,但如果用户更改该文本框中的值并直接单击提交按钮,那么在这种情况下 onblur 不会被触发或不起作用。在这
我正在尝试创建一个函数,允许编辑 div,并且当不再聚焦时(例如单击元素外部),它应该执行一个函数。 当用 fiddle 测试这个时,预期的响应不会发生。相反,当单击该元素时,它既使内容可编辑,又同时
我有一个带有 React-InstantSearch: 的导航栏为我提供了自动完成功能,有一个 onChange触发显示建议框的事件。还有一个onBlur当您离开搜索框并隐藏该框时触发的事件。这个o
我有两个输入,它们是 的一部分。我试图在其中之一发生更改(dpFin)后获取输入的值。问题是,当我使用 var endDt = document.getElementById("dpFin").va
我有一个默认情况下禁用的文本框... onclick 可以工作并使其能够输入,但是当我单击单选按钮时...它不会再次禁用该文本框 有什么线索吗? 提前致谢 李 最佳答案 没有“启用”属性。您必须将
我正在使用 JavaScript 对 HTML 表单进行验证。为什么刷新页面时Validator.validateInput会执行? 我希望它在模糊元素“first”时执行。 var Validato
当使用 jQuery 将文本输入到文本框时,我尝试编辑选择输入的内容。这是我的文本框 这是我的多重选择框 Yazılımevi 这是我的 javascript 函数(我知道这很简单) func
我有一个使用 jquery form validator 的表单:我的问题是如何让验证不仅在提交时触发,而且在模糊时触发?我希望它验证模糊时的每个单独字段(而不是模糊时的整个表单,因为我不希望为尚未向
我有以下代码,也称为内联代码,如下所示。问题是警报永远不会触发。在 Firebug 中,我可以看到数据充满了我的对象,但仍然没有触发警报。有什么想法吗? function update(s_arriv
如何在 javascript onblur 中为文本框中输入的所有值添加前缀 - 符号 最佳答案 首先,您需要添加事件处理程序。一旦你这样做了,这就是你的功能: function textBoxBlu
我正在使用 onblur 事件来获取日期选择器中的日期值。这是我的控件: 这是我的功能: function UpdatePrice(_this) { console.log(_this.va
我有一个表格,其中包含许多用户可以为其赋值的文本输入字段。我的目标是,如果用户“onBlur”的any 字段,则将激活一个功能。我可以通过单独标记每个单元格来解决这个问题,但它会非常重复,我相信有更有
我正在使用 onblur 进行文本框数据检查。 OnBlur 工作正常,直到或除非我们不按 ALT + TAB 或 Windows 按钮。 如果我按下 ALT + TAB 然后模糊函数执行多次.. 例
HTML It is a div which has a dark future Not Remove 和脚本 $(function(){ $("input").blur(function(
我在 jquery 的 blur 和 onblur 事件上遇到了陌生人问题。当您对输入进行模糊处理时,首先执行 onblur 事件和 .blur 方法。但是,当您通过点击 anchor 标记来调用触发
我正在使用 jQuery 将一个输入字段的值复制到另一个模糊的输入字段。这是我的代码: $( "input[id$=token-input-search_field]" ).blur( functio
我有一个应用程序,我需要更新数字,为此,我计划如下,当我单击数字容器时,我将其转换为 jquery 的输入字段,然后在模糊时我想将其关闭为容器div内的纯文本,然后触发ajax在数据库中更新它,但第一
我是一名优秀的程序员,十分优秀!