[英]Javascript Working in FF + IE9 but not IE8
如標題所示,我的代碼可在最新的Firefox和IE9上運行,但不能在IE8上運行。 誰能告訴我為什么? 或者也許給我另一種解決方案,以基於所選元素隱藏/顯示div。 謝謝
<script type="text/javascript">
<!--
/* Hide drop down if certain option selected */
function hideField(field_id){
var field = document.getElementById(field_id);
field.style.display = "none";
}
/* Show drop down if certain option selected */
function showField(field_id){
var field = document.getElementById(field_id);
if(field.style.display = "none"){
field.style.display = "block";
}
}
-->
</script>
<select name="subject" id="subject" >
<option value="unselected">Please Select...</option>
<option value="Advertising" onclick="hideField('browserRow'),hideField('versionRow')">Advertising</option>
<option value="Complaint" onclick="hideField('browserRow'),hideField('versionRow')">Complaint</option>
<option value="Content Issue" onclick="hideField('browserRow'),hideField('versionRow')">Content/Information</option>
<option value="Website Error" onclick="showField('browserRow'),showField('versionRow')">Website Bug/Error</option>
<option value="Website Feedback" onclick="hideField('browserRow'),hideField('versionRow')">Website Feedback</option>
<option value="Other" onclick="hideField('browserRow'),hideField('versionRow')">Other</option>
</select>
<div class="row" id="browserRow">
<label>Your Browser: <font color="#FF0000">*</font></label>
<select name="browser" id="browser">
<option value="unselected">Please Select...</option>
<option value="Android">Android</option>
<option value="Google Chrome">Google Chrome</option>
<option value="Mozilla Firefox">Mozilla Firefox</option>
<option value="Internet Explorer">Internet Explorer</option>
<option value="Safari">Safari</option>
<option value="Opera">Opera</option>
<option value="Other">Other</option>
</select>
</div>
<div class="row" id="versionRow">
<label>Browser Version: <font color="#FF0000">*</font></label>
<input type="text" name="version" value="<?php echo $session->userinfo['version']; ?>" maxlength="10" id="bVersion">
<span class="error"><?php echo $form->error("version"); ?></span>
<script language="javascript">
var number = document.getElementById('version');
selectItemByValue(number, '<?php echo $form->value('version'); ?>');
</script>
</div>
在這里嘗試使用分號而不是逗號:
onclick="hideField('browserRow');hideField('versionRow')"
您在這里遇到的一個大問題是在showField
函數中:
if(field.style.display = "none")
這行代碼不正確。 您已經在if()
使用了一個等於,而不是使用了雙重等於,因此它將設置顯示屬性的值,而不是檢查該值是什么。
這不是您的IE8問題的原因,但這是一個嚴重的錯誤,需要指出。 (盡管很幸運,在這種情況下它可能不會給您造成任何問題)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.