【发布时间】:2020-03-05 16:49:20
【问题描述】:
我在处理 ajax 时遇到问题,无法将默认表单 (input type="data") 中的值与选项标签项一起传递
我已经尝试了数据选择器的方法来检索日期,但问题是我没有使用数据选择器,我使用的是默认的 PHP input type="date"。我想传递两个值,即 date 和 court_id 来执行/显示数据库中的表格(在单击两个表单之后)。
/*this is display.php file*/
<input type="date" name="date_staff" id="staff_pick_date_ticket">
<select name='courtid' id='staff_select_court' multiple>
<option value='".$row['court_id']."'>".$row['courtTitle']."</option>
</select>
<div id="time_available">
/*this is myjs.php file*/
<script>
$(document).ready(function(){
$('#staff_pick_date_ticket').click(function(){
var date_id =$(this).data('staff_pick_date_ticket');
$('#staff_select_court option').click(function() {
var court_id= $(this).attr('value');
var action = 'show_time';
$.ajax({
url:"action.php",
method:"POST",
data:{date_id:date_id, court_id:court_id, action:action},
success:function(data){
$('#time_available').html(data);
}
})
})
})
);
</script>
/*this is action.php file*/
if(isset($_POST['action'])){
if($_POST['action'] == 'show_time'){
$data = array(
':date_id' =>date("d/m/Y",strtotime($_POST["date_id"])),
':court_id'=>$_POST["court_id"]
);
echo $data[':date_id'];
echo $data[':court_id'];
}
}
可以检测到 court_id,但 date_id 为空。我不知道为什么?有什么解决办法吗?
【问题讨论】:
-
':court_id'=>$_POST["courtid"]使用那个 -
$_POST["date_id"]你能打印这个值并检查你收到的值是什么 -
$_POST["court_id"]的值在哪里? -
@RameshN
$_POST["date_id"]我试过了,没有显示输出,但是echo $data[':date_id'];在我的屏幕上显示01/01/1970 -
@dean
echo $data[':court_id'];的显示值为20,是之前从数据库中检索到的正确的int值