如何将JS变量值赋值给PHP变量并在HTML表单字段中使用
你当前的写法逻辑不成立,无法实现需求。
PHP是服务端运行的语言,在页面发送到浏览器前就已经执行完毕;JS是浏览器端运行的语言,页面加载到本地后才会执行。你写的那段把JS变量赋值给PHP的代码完全无效,执行PHP的时候JS变量还不存在,自然也没法把值传给PHP用来渲染表单字段的max属性。
你不需要绕PHP,直接用JS给结束日期输入框动态设置max属性即可,修改后的代码如下:
<div> <div id="standardPanel">*任务/负责人:<input type="text" name="product" required ></div> <div id="standardPanel">*描述:<input type="text" name="customer" required ></div> <div id="standardPanel">*日期:<input id="myTextInputID" type="date" name="manufacture_one" required ></div> <p class="flip" onclick="showEndDate()">点击添加结束日期</p> <div id="panel"> 结束日期(仅节假日):<input type="date" name="end_date" id="end_date"> </div> <div><input id="submit" name="action" type="submit" value="提交"/></div> </form> <script> function showEndDate() { document.getElementById("panel").style.display = "block"; var inputValue = document.getElementById("myTextInputID").value; if(inputValue) { document.getElementById("end_date").setAttribute('max', inputValue); } } </script>
修改点说明:
- 给结束日期输入框新增了id属性
end_date,方便JS选中操作 - 移除了原来end_date字段max属性里无效的PHP输出逻辑
- 删除了JS函数里无效的PHP赋值语句,直接通过JS操作DOM设置max属性
- 代码里的静态文案同步翻译成了中文,符合使用需求
这样修改后,只要用户选中了第一个日期,点击触发函数时,结束日期的可选上限就会自动设置为第一个日期的取值,完全符合需求。
内容的提问来源于stack exchange,提问作者Jeanclaude
相关产品推荐
相关产品推荐

