问题
I have 1 dropdown box[year], 2 text box [startDate, endDate], whenever user select year from dropdown menu then text boxes startDate should auto populate to 01/01/+year and endDate to 12/31/+year. Below mentioned script works fine in Firefox but in IE getElementById('ff5').value is not working, any suggestions ?
My script:
<script>
function autoPopulateDate(value, startDt,endDt){
document.getElementById(startDt).value='01/01/'+value;
document.getElementById(endDt).value='12/31/'+value;
}
</script>
HTML Code:
<tr>
<td>
<select onchange="autoPopulateDate(this.value,'ff5','ff6')" size="1" name="ff4" id="ff4"><option value="">-->select value<--</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>
回答1:
IE [at least some versions and rendering modes] wants you to access form members via the forms collection.
document.forms['someform'].elements['someelement'].value
Alternatively, you can use some ajax library (e.g. http://www.asp.net/ajax ) and use that libraries element retrieval method since those usually take browser compatibility stuff into account...
$get('element')
来源:https://stackoverflow.com/questions/5813123/cross-browser-issue-document-getelementbyid-value-not-working-in-ie-but-work