HTML input无法同时设置name与value?求实现默认当日日期的日期输入框
解决HTML日期输入框同时设置name和PHP动态value的问题
嘿,我一眼就发现问题所在啦!你代码里的双引号冲突了——HTML的value属性用双引号包裹,而你PHP的date()函数里也用了双引号,这会让浏览器把date(后面的双引号当成value属性的结束标记,剩下的代码就会被解析成无效的HTML,自然没法同时生效name和动态赋值的value。
给你两个简单的解决办法:
方法一:把PHP里的双引号改成单引号
这是最直观也推荐的写法,单引号不会和外部HTML的双引号产生冲突,PHP也能正确解析单引号内的日期格式字符串:
<input type="date" name="dateInput" value="<?php echo date('Y-m-d'); ?>">
方法二:转义PHP里的双引号
如果你偏爱用双引号,也可以用反斜杠\转义函数里的双引号,让PHP知道这是字符串的一部分,而不是结束标记:
<input type="date" name="dateInput" value="<?php echo date(\"Y-m-d\"); ?>">
额外验证小提示
如果改完还是没效果,记得检查这两点:
- 你的文件后缀必须是
.php,并且服务器已经正确配置支持PHP运行; - HTML5的
date输入框要求value的格式必须是YYYY-MM-DD,你用date('Y-m-d')生成的格式是完全符合要求的,这点没问题。
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

