我有jsf表單中的多個字段,包括文本,checkbok框,下拉列表等,它顯示了DB的值。我希望提交按鈕在默認情況下被禁用,並且只有在用戶對錶單中的任何字段進行更改時纔可點擊。請幫忙 !!在JSF表單上更改任何值的啓用按鈕
0
A
回答
0
沒有測試,但我會簡單地使用這樣的事:
$(document).ready(function() {
$('#formId input[type="submit"]').attr('disabled','disabled');
$('#formId').change(function(){ $('#formId input[type="submit"]').removeAttr('disabled'); });
});
如果沒有在視圖中使用任何jQuery的功能已經(任何PrimeFaces例如AJAX按鈕),你可能需要添加:
<h:outputScript library="primefaces" name="jquery/jquery.js" />
1
對於一個簡單的表格,你可以使用一個用戶提到herethis jQuery插件。
編輯:
的插件是非常簡單易用,功能強大,是因爲比如你將不得不如果還原一個輸入字段內改變你的按鈕再次被禁用。
只要確保你包含js文件:
<h:outputScript name="path/jquery.are-you-sure.js"/>
而且使用它,你必須添加一行:
$('#idofyourform').areYouSure();
之後,啓用和禁用提交按鈕你必須添加:
//All disabled by default
$('#idofyourform').find('button[type="submit"]').attr('disabled', 'disabled');
//Enabled all when there are changes
$('#idofyourform').bind('dirty.areYouSure', function() {
$(this).find('button[type="submit"]').removeAttr('disabled');
});
//Disable all when there aren't changes
$('#idofyourform').bind('clean.areYouSure', function() {
$(this).find('button[type="submit"]').attr('disabled', 'disabled');
});
這兩個代碼都在文檔就緒函數中。
請注意,我使用按鈕 [type =「submit」],這是p:commandButton默認呈現的內容。如果是你的情況,你可以使用輸入法。
注意:這個插件還增加了OP沒有要求的額外功能(在不保存更改時導航時的對話框檢查)。如果您想要,可以禁用此功能:
$('#idofyourform').areYouSure({'silent':true});
相關問題
- 1. AngularJS:啓用按鈕上的表單輸入更改
- 2. 啓用textarea值更改按鈕
- 3. 更改單選按鈕值
- 4. 禁用提交按鈕,直到任何表單元素更改?
- 5. 使用其他單選按鈕更改單選按鈕的值
- 6. 已啓用單選按鈕,用戶無法更改值
- 7. 在按鈕上更改DataGridView單元格的值單擊
- 8. 啓用/禁用表單元素並一次更改按鈕的值?
- 9. 啓用禁用按鈕在jsf 2.2
- 10. 我怎樣才能修改我的HTML表單上單擊以啓用更改表單輸入的按鈕
- 11. 僅當表單中的值已更改時才啓用「提交」按鈕
- 12. 在按鈕上更改viewController單擊
- 13. 在按鈕上更改片段單擊
- 14. 在ADOTable上更改TableName按鈕單擊
- 15. 如何更改單擊按鈕上的按鈕名稱
- 16. 如何啓用/禁用c#中datagridview單元格值更改的按鈕
- 17. 單擊時更改按鈕的值
- 18. 單擊按鈕更改變量的值
- 19. JQuery更改單選按鈕的值
- 20. 在flex運行期間更改「啓用」按鈕的值
- 21. 如何更改按鈕上的列表項中的textView單擊
- 22. 更改按鈕上的JQGrid單元格值單擊
- 23. 更改按鈕值
- 24. 如何使用javascript更改jsf按鈕的禁用狀態
- 25. 更改按鈕上的片段單擊
- 26. 更改單選按鈕上的標籤
- 27. JSF:動態更改表單
- 28. 單擊單選按鈕時更改下拉列表的值
- 29. Greasemonkey更改表單中單選按鈕的值?
- 30. 如何更改xamarin表單上按鈕的邊距?
這不是一個好的答案,因爲它被認爲是僅鏈接的。請在答案中添加一個小例子。 – Xan 2014-09-22 10:38:15
感謝您的提示!我添加了如何使用插件 – mrganser 2014-09-22 11:32:32