我正在尝试设置一个显示观察结果的页面,如果其中一个观察结果被单击,那么它将发送点击到php的观察值。然后,当它们被重定向到细节屏幕时,它将填充所点击观察的细节。我尝试了许多不同的方法来完成这项工作,所以我的代码到处都是,但似乎无论我怎么做,Ajax要么不发送数据,要么每次都发送相同的观察数。对我来说,AJAX数据属性似乎无法处理它。这是在英特尔XDK中构建的,这是一个html5应用程序构建器。这就是为什么这是棘手的,因为我不能使用浏览器开发工具来调试。
Javascript <script>
$(document).ready(function(){
$.ajax({
url: "http://localhost/observationMain.php",
data: { action: "observationID" },
type: 'post',
dataType: 'json',
success: function(observationID){
for(i = 0; i <= observationID.length; i++)
{
$("#observationMainListView").append("<form id='form"+i+"'' method='post'><a id='observation"+i+"' class='list-group-item allow-badge widget uib_w_"+(i+4)+"' data-uib='twitter%20bootstrap/list_item' data-ver='1'><h4 id='observationNum"+i+"' class='list-group-item-heading'>"+observationID[i][0]+"</h4><p class='list-group-item-text'>"+observationID[i][1]+"</p></a><input name='observationNum' value='"+observationID[i][0]+"'></form>");
$("#observation"+i+"").click(function(){
$.ajax({
url: "http://localhost/observationDetail.php",
data: $("#form"+i+"").serialize(),
type: 'post',
success: function(observationNum){
document.location.href = 'observationDetail.html';
}
});
});
}
}
});
});
</script>
php <?php
session_start();
if(isset($_POST['observationNum'])){
$_SESSION['observationNum'] = $_POST['observationNum'];
}
?>
这可能很疯狂,但是检查这一行。表单的id属性有一个额外的'
可能是导致问题的原因。
$("#observationMainListView").append("<form id='form" + i + "'' method='post'
我不能运行脚本,但只是给它试试。