未使用JQuery填充HTML表单 $(文档).ready(函数(){ $(“.edit”)。单击(函数(){ temp=$(this.attr('id').split(“”); $.get('/patients/getPlanofCareById',{“id”:temp[1]}, 功能(数据){ $(#患者poc frm')。填充(数据); }“json”); }); });
Firebug正在抛出表单元素不存在的通知,但我看到它们使用Firebug。我确信他们在那里。您会注意到,我使用jquery发布一个变量,并使用json返回结果未使用JQuery填充HTML表单 $(文档).ready(函数(){ $(“.edit”)。单击(函数(){ temp=$(this.attr('id').split(“”); $.get('/patients/getPlanofCareById',{“id”:temp[1]}, 功能(数据){ $(#患者poc frm')。填充(数据); }“json”); }); });,jquery,html,forms,populate,Jquery,Html,Forms,Populate,Firebug正在抛出表单元素不存在的通知,但我看到它们使用Firebug。我确信他们在那里。您会注意到,我使用jquery发布一个变量,并使用json返回结果 任何即使表单元素不存在,也不应该出现错误。jQuery不是这样工作的,这意味着您看到的错误要么来自另一段javascript代码,要么您忘记包含jQuery库 编辑 啊,你在使用我看到的表单处理程序。我从未使用过它,但我确实注意到:在发送ajax请求之前,您正在基于下划线拆分id属性,对吗?JSON中发送的ID属性是后缀。返回时,结果J
任何即使表单元素不存在,也不应该出现错误。jQuery不是这样工作的,这意味着您看到的错误要么来自另一段javascript代码,要么您忘记包含jQuery库 编辑
啊,你在使用我看到的表单处理程序。我从未使用过它,但我确实注意到:在发送ajax请求之前,您正在基于下划线拆分id属性,对吗?JSON中发送的ID属性是后缀。返回时,结果JSON是否将前缀追加回on?否则,如果ID最初类似于“textbox\u name”,则您将搜索ID为“name”的元素,但该元素将不存在。仅适用于可能多年后仍来到这里并搜索相同错误的人(如今天的我:))。注意kbrin80的评论,他说控制台输出声明“没有像[][id]这样的元素”——这是一个提示——至少对我来说是这样。e、 g.我的代码的外观:
<script type="text/javascript">
$(document).ready(function() {
$(".edit").click(function(){
temp = $(this).attr('id').split("_");
$.get('/patients/getPlanofCareById', { "id": temp[1]},
function(data){
$('#patient-poc-frm').populate(data);
}, "json");
});
});
</script>
数据中有什么?你从getPlanofCareByID返回了什么?这不是特别好,但“getPlanofCareByID”到底是什么?get()不需要访问页面然后搜索信息吗?我使用的是jquery formhandler插件。我得到的通知看起来没有像[][id]这样的元素。它就像是在一个多维数组中。那是不对的
<?php
$result = $database->select('table', ['colums'], ['id' => $value]);
$json = json_encode($result);
echo $json;
//echoes like: [{id=>value}]
//--> notice the outer pair of brackets, that's an array, you want to get rid of them!
?>
<script type="text/javascript">
jQuery(document).ready(function(){
$('.populate').populate(<?php echo $json; ?>, {debug: 1});
});
</script>
$result = $database->select('table', ['colums'], ['id' => $value]);
$json = json_encode($result[0]);
echo $json;
//echos like: {id=>value} , you want that to pass through populate correctly