无法使用Javascript切换传递变量以形成输入

时间:2014-10-27 16:54:13

标签: javascript php html date

我正在尝试传递“selecteddate”,这是菜单中的选定日期,使用以下变量:

<a class="addlink" href="javascript:togglevis(\'addform\',\'selecteddate='.$day.'/'.$month.'/'.$year.'\');">Add date</a>

进入具有以下输入的表单:

<input type="text" name="startdate" id="startdate" class="standard" onchange="document.getElementById('startdate').value = this.value" value="<?php if(isset($_GET['selecteddate'])) { echo str_replace('-','/',$_GET['selecteddate']); } else { echo date("j/m/Y",mktime()); } ?>" />

表单切换和一切正常,但它始终从else语句中获取当前日期。我相对肯定所选日期没有通过,如果我删除else语句我最后会得到一个空文本框。有关如何格式化addlink以将选定日期发送到表单的任何建议?感谢您的帮助,第一次海报,并通过搜索这个网站解决了很多问题,当然是一个很好的资源!

1 个答案:

答案 0 :(得分:-1)

  

<input type="text" name="startdate" id="startdate" class="standard" onchange="document.getElementById('startdate').value = this.value" value="<?php if(isset($_GET['selecteddate'])) { echo str_replace('-','/',$_GET['selecteddate']); } else { echo date("j/m/Y",mktime()); } ?>" />

据我所知,尝试在加载页面后调用PHP。请记住,在浏览器中呈现页面之前,会调用所有PHP代码。因此,当呈现页面时,您将最终得到:

  

<input type="text" name="startdate" id="startdate" class="standard" onchange="document.getElementById('startdate').value = this.value" value="<? date("j/m/Y",mktime());) ?>" />

我没有任何进一步的答案,因为我没有完全遵循你已经/试图用它做的事情,但希望这有帮助!

另外!当您对代码进行测试时,如果您始终从if语句中获取其他内容,则通常意味着您尝试检查的元素尚未存在。遇到问题时,请尝试对变量执行var_dump()