PHP页面datepicker默认显示今日日期、选值后取POST参数求助
实现方案
第一步:调整PHP端取值逻辑
核心逻辑为优先读取用户提交的日期参数,无提交参数时默认使用当日日期,代码如下:
// 校验POST参数是否存在且非空 if (isset($_POST['nnnx']) && !empty(trim($_POST['nnnx']))) { $nnnx = $_POST['nnnx']; } else { // 无提交值时默认取当日日期,格式与datepicker输出格式保持一致 $nnnx = date("Y/m/d"); }
第二步:前端输入框与datepicker适配
将PHP处理后的$nnnx值直接绑定到日期输入框的默认值,再按你使用的datepicker组件要求做初始化即可,以下是常用的jQuery UI datepicker适配示例:
<form method="post" action="nnnx.php"> <!-- 输出默认值时用htmlspecialchars做转义,规避XSS安全风险 --> <input type="text" id="datepicker" name="nnnx" value="<?php echo htmlspecialchars($nnnx); ?>"> <button type="submit">查询</button> </form> <script> $(function() { $("#datepicker").datepicker({ // 日期格式和PHP侧的Y/m/d保持统一 dateFormat: "yy/mm/dd", // 如需选中日期后自动提交,可开启下方配置 // onSelect: function() { // $(this).closest('form').submit(); // } }); }); </script>
- 如果你使用的是其他日期选择组件(比如laydate、Vue/React生态的日期组件),只要保证组件输出的日期格式和PHP侧的
Y/m/d对齐,默认值绑定$nnnx即可,逻辑完全通用。
内容的提问来源于stack exchange,提问作者bin2003
相关产品推荐
相关产品推荐

