2011-04-28 49 views
0

我有1個下拉框[年],2個文本框[startDate, endDate],每當用戶從下拉菜單中選擇年份,文本框startDate應該自動填充到01/01/+yearendDate12/31/+year。下面提到的腳本在Firefox中可以正常工作,但在IE中getElementById('ff5')。value不起作用,有什麼建議嗎?跨瀏覽器問題:document.getElementById()。值在IE中不起作用,但在Firefox中工作

我的腳本:

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

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> 
+0

啊,但IE瀏覽器是哪個我需要支持。 – Rachel 2011-04-28 03:15:09

+0

@Rachel適用於IE(8)。 – 2011-04-28 03:15:46

+0

我使用的是IE7,我沒有任何其他的JavaScript頁面,實際上這個功能在報表工具中是必需的。 – Rachel 2011-04-28 03:26:04

回答

1

IE [至少有些版本的渲染模式]要你通過形式集合來訪問模板件。

document.forms['someform'].elements['someelement'].value 

或者,你可以使用一些Ajax庫(如http://www.asp.net/ajax),並使用該庫元素檢索方法,因爲這些通常需要瀏覽器兼容的東西進去......

$get('element') 
+0

@KristoferA不,這不是必需的,代碼工作得很好。看到@ mu的小提琴,在他對這個問題的評論中聯繫起來。 – 2011-04-28 03:16:42

+0

這根本不正確。 – Pointy 2011-04-28 03:16:54

+0

+1,奇怪的是,如果我試圖使用document.forms ['someform']。elements ['someelement']。它值得我工作,值得感謝KristoferA – Rachel 2011-04-28 03:21:09

相關問題