我正在使用jquery將值設置爲jsf輸入框。在事件處理程序中,我找到了值,但在表單上提交的值沒有傳遞給bean。我的jQuery代碼如何檢索表單提交輸入值
function setValue(){
$("#inputbox").value("Johny");
}
<h:inputText id="inputbox" value="#{user.name}" onmouseover="$(this).val();"/>
如何在表單提交期間捕獲此輸入值?
我正在使用jquery將值設置爲jsf輸入框。在事件處理程序中,我找到了值,但在表單上提交的值沒有傳遞給bean。我的jQuery代碼如何檢索表單提交輸入值
function setValue(){
$("#inputbox").value("Johny");
}
<h:inputText id="inputbox" value="#{user.name}" onmouseover="$(this).val();"/>
如何在表單提交期間捕獲此輸入值?
給名字輸入文本(名稱應該是完全一樣的,因爲它是在豆)
<h:inputText name="{user.name}" value="#{user.name}" onmouseover="$(this).val();"/>
in bean-the variable name should be-(i am just giving an example)
private name;
jQuery代碼(和你的JS document.getElementById()
代碼)工作將只有工作,如果您關閉了JSF所做的元素ID的前置操作,以防止在包含模板中多次使用組件時重複元素ID。
您可以通過將父項<h:form>
的prependId
屬性設置爲false
來完成此操作。
<h:form prependId="false">
至於真正的問題:jQuery的/ JavaScript的運行在客戶端和他們的作品與JSF的Web服務器已生成的HTML DOM樹和網絡服務器已發送到網頁瀏覽器。用鼠標右鍵單擊網頁瀏覽器中的頁面,然後選擇查看源文件。你看到了嗎?像
<h:form id="myform">
<h:inputText id="myinput" />
一個形式獲取生成類似如下:
<form id="myform">
<input type="text" id="myform:myinput" name="myform:myinput" />
您需要確切使用此客戶端ID jQuery中/ JS。由於:
是CSS選擇器非法字符,你需要在不同的jQuery選擇它一點:
$("[id='myform:myinput']").val("newvalue");
但是它工作正常,如純JS如下:
document.getElementById("myform:myinput").value = "newvalue";
我想它不是加工。 – Achaius 2011-06-16 10:03:05