Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跨浏览器问题:document.getElementById()。值在IE中不起作用,但在Firefox中起作用_Javascript_Html_Cross Browser - Fatal编程技术网

Javascript 跨浏览器问题:document.getElementById()。值在IE中不起作用,但在Firefox中起作用

Javascript 跨浏览器问题:document.getElementById()。值在IE中不起作用,但在Firefox中起作用,javascript,html,cross-browser,Javascript,Html,Cross Browser,我有1个下拉框[year],2个文本框[startDate,endDate],每当用户从下拉菜单中选择year时,文本框startDate应自动填充到01/01/+year和endDate到12/31/+year。下面提到的脚本在Firefox中运行良好,但在IE getElementById('ff5')中运行良好。值不起作用,有什么建议吗 我的剧本: <script> function autoPopulateDate(value, startDt,endDt){ d

我有1个下拉框[year],2个文本框
[startDate,endDate]
,每当用户从下拉菜单中选择year时,文本框
startDate
应自动填充到
01/01/+year
endDate
12/31/+year
。下面提到的脚本在Firefox中运行良好,但在IE getElementById('ff5')中运行良好。值不起作用,有什么建议吗

我的剧本:

<script>
function autoPopulateDate(value, startDt,endDt){
      document.getElementById(startDt).value='01/01/'+value;
      document.getElementById(endDt).value='12/31/'+value;
}
</script>

函数AUTOPOUPLATEDATE(值、startDt、endDt){
document.getElementById(startDt).value='01/01/'+value;
document.getElementById(endDt).value='12/31/'+value;
}
HTML代码:

<tr>
    <td>
        <select onchange="autoPopulateDate(this.value,'ff5','ff6')" size="1" name="ff4" id="ff4"><option value="">--&gt;select value&lt;--</option><option value="2005">2005</option>
        <option value="2006">2006</option>
        <option value="2007">2007</option>
        <option value="2008">2008</option>

        <option value="ALL">ALL</option>
        </select>
    </td>
</tr>
<tr>
    <td ><font class="rtabletext">Savings Start Date: </font></td>
    <td >
        <input type="text" value="" name="ff5" id="ff5" maxlength="50" size="10" class="text">
    </td>
</tr>
<tr>
    <td><font class="rtabletext">Savings End Date: </font></td>
    <td>
        <input type="text" value="" name="ff6" id="ff6" maxlength="50" size="10" class="text">
    </td>
</tr>

--选择值--2005
2006
2007
2008
全部的
储蓄开始日期:
储蓄截止日期:

IE[至少某些版本和呈现模式]希望您通过表单集合访问表单成员

document.forms['someform'].elements['someelement'].value
或者,您可以使用一些ajax库(例如),并使用该库元素检索方法,因为这些库通常会考虑浏览器兼容性的内容

$get('element')

是的,但IE是我需要支持的浏览器。@Rachel在IE(8)中为我工作。我使用的是IE7,我没有任何其他JavaScript页面,实际上这个功能是报表工具中需要的。在IE 7中工作很好。您的文档中是否可能有id或名称为“ff5”的其他元素?不,我没有id或名称为
ff5
@KristoferA的其他元素不,这不是必需的,代码工作正常。请看@mu的小提琴,链接到他对这个问题的评论中。+1,奇怪的是,如果我现在试图使用document.forms['someform'].elements['someelement'].value,谢谢KristoferA@Rachel没什么奇怪的,只是浏览器兼容性问题。IE的更高版本有可能(甚至可能)与其他浏览器保持一致。换句话说,您的原始代码可能在IE8/IE9(在标准模式下)下工作,但在IE7/6/5/4/3甚至新浏览器中都不能工作,如果页面是在怪癖或兼容模式下呈现的话。@Pointy您能澄清我的答案中您认为不正确的部分以及原因吗?@KristoferA the“document.getElementById()”该方法在InternetExplorer中运行良好,至少可以追溯到IE6,几乎可以肯定的是IE5也是如此。