我有一種表單禁用所有未隱藏在jQuery(document).ready(function())上的輸入字段在IE 7中禁用導致Javascript錯誤的表單中的輸入字段(在Firefox中正常工作)
這裏是我的代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<div xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core" lang="en" xml:lang="en" style="padding-bottom: 8px;">
<script>
jQuery(document).ready(function()
{
jQuery('div#formBuilderPreviewEnrollmentData input[type!="hidden"]').prop('disabled', true);
});
</script>
<h:form id="previewMarketingProgramForm">
<div class="modal-content">
<br /> <br /> <br />
<div>
<h4>Enrollment Form</h4>
</div>
<table cellpadding="0" cellspacing="0" border="1" width="100%" class="results-table">
<tr>
<td>
<div id="formBuilderPreviewEnrollmentData">
<h:outputText value="#{previewMarketingProgramBean.enrollmentFormBean.enrollmentFormContent}" escape="false" />
</div>
</td>
</tr>
</table>
<br /> <br /> <br />
</div>
</h:form>
</div>
這裏是JavaScript錯誤:
不能將焦點移到控制,因爲它是無形的,未啓用,或類型的不接受焦點。
請告訴我什麼可能導致此錯誤。我使用jQuery的1.7.2-min.js
這裏是HTML生成的源代碼這種形式供大家參考:
<!DOCTYPE html>
<html class="ltr" dir="ltr" lang="en-US"> <head> <title>View Article - Liferay</title>
<script src="http://xx:8001/vcc-theme/js/jquery-1.7.2.min.js"></script>
<script src="http://xx:8001/vcc-theme/js/javascript.js"></script>
<script src="http://xx:8001/vcc-theme/js/jquery.tablesorter.min.js"></script>
<script src="http://xx:8001/vcc-theme/js/jquery.tablesorter.pager.js"></script>
<script src="http://xx:8001/vcc-theme/js/jquery.autocomplete.js"></script>
<script src="http://xx:8001/vcc-theme/js/jquery.simplemodal.1.4.2.min.js"></script>
<script src="http://xx:8001/vcc-theme/js/jquery.scrollTo.js"></script>
<script src="http://xx:8001/vcc-theme/js/ui.datepicker.js"></script>
<script>
/*<![CDATA[*/jQuery(document).ready(function()
{
jQuery('div#formBuilderPreviewEnrollmentData input[type!="hidden"]').prop("disabled",true)});
/*]]>*/
</script>
<form id="_jpfcpncuivr_A0169_j_id1:previewMarketingProgramForm" name="_jpfcpncuivr_A0169_j_id1:previewMarketingProgramForm" method="post"
action="http://xxx/yyy.do">
<div class="modal-content">
<br /> <br /> <br />
<div> <h4>Enrollment Form</h4> </div>
<table cellpadding="0" cellspacing="0" border="1" width="100%" class="results-table">
<tr>
<td>
<div id="formBuilderPreviewEnrollmentData">
<p> NAME: <input class="required" name="NAME" type="text" /></p> <p>  </p>
<p> AGE: <input name="AGE" type="text" /></p> <p>  </p>
<p> ADDRESS:<textarea name="ADDRESS"></textarea></p>
</div>
</td>
</tr>
</table>
<br /> <br /> <br />
</div>
</form>
</html>
我得到這個JS在IE 7中的錯誤(在Firefox正常工作)
請發佈生成的HTML。上面的代碼有零輸入。 – j08691
'jQuery('div#formBuilderPreviewEnrollmentData input [type!=「hidden」]')。prop('disabled','true');'應該是''jQuery('div#formBuilderPreviewEnrollmentData input [type!=「hidden」] ').prop('disabled',true);' - 你試圖將它設置爲一個真正的字符串 –
你在哪裏包括你的jQuery文件 –