2

我最近升级到 Liferay 6.0、JSF 2.1 和 jQuery 1.7。

这是我的html表单:

 <h:form id="fundRequestForm" action="" method="post">
      <!-- Inside this I have various form field -->
    </h:form>

html页面源码中生成的表单:

<form id="_jpfcpncuivr_A2262_j_id1:fundRequestForm" name="_jpfcpncuivr_A2262_j_id1:fundRequestForm"
method="post" action="">
</form>

我想禁用隐藏表单字段以外的表单中的所有输入字段。

这是我的javascript

jQuery(document).ready(function()
{
  jQuery('form#_jpfcpncuivr_A2262_j_id1:fundRequestForm input[type!="hidden"]').attr('disabled', 'true');
});

输入字段没有被禁用。请让我知道这段代码有什么问题。

4

2 回答 2

3

虽然在 HTML 元素 ID/名称中有效,但冒号是 CSS 选择器中的特殊字符,因为它代表伪选择器的开始。您需要在 CSS 选择器中对其进行转义。

jQuery('form#_jpfcpncuivr_A2262_j_id1\\:fundRequestForm input[type!="hidden"]').attr('disabled', 'true');

也可以看看:

于 2012-07-06T17:27:06.303 回答
-1

尝试添加一个类:

<h:form id="fundRequestForm" action="" method="post" class="someClass">
  <!-- Inside this I have various form field -->
</h:form>

JS:

jQuery(document).ready(function()
{
  jQuery('.someClass input').prop('disabled', true); //<-- use prop NOT attr
});
于 2012-07-06T17:06:45.627 回答