0
我寫過onKeyPress事件,它在用戶輸入一些文本時驗證文本,然後從某個字段中選項卡應該驗證文本,如果沒有輸入或輸入了錯誤的值,應該給出錯誤以通知用戶並且焦點應該回到該字段,並且除了用於字段的幫助按鈕外,用戶不能被允許到下一個字段。在Firefox中驗證textfield onkeypress事件JSP
<jade:input type="text" name="dtxtDesigCd"
value="" size="10" maxlength="8"
classname="input" disabledclass="disabled-input" style="color: black"
datasource="dsDesigHourDetail:desigCode"
onkeypress= "checkDesignation(this, event);">
</jade:input>
我也有一個自定義的JSP標籤「領料單」,這是基本上是一個顯示 與數據庫相關領域幫助一個模式窗口,並從數據庫中選擇記錄從顯示到文本框在JSP中選擇後一個按鈕幫助窗口。
我們以前的供應商使用了經過修改的SOFIA框架,現在我必須維護代碼。早期代碼的問題是這個按鈕必須雙擊才能獲得幫助,因爲它使用了onblur而不是onkeypress,並且需要多次嘗試,因爲它一直給出錯誤。用的onblur
此前代碼爲
onblur="setValue('DESIGNATION');" onkeyup="capitalize(this);"
現已被替換
onkeypress= "checkDesignation(this, event);">
求救按鈕的代碼/ PICKLIST在JSP如下:
<rap:pickfromlist name="picklistDesignation" datasource="dsDesigHourDetail"
pflheading="Designation Details" focusfield="dtxtDesigCd"
pflcolumnsdesc="Designation Code, Description"
fieldlist="distinct emp_desig_cd, emp_desig_desc "
lookuptable="pmm_designation" orderby="emp_desig_cd"
targetproperty="desigCode, designation"
whereclause=" executive_post='N' and crew_flg = 'N'" />
在此字段中,指定的描述是從提貨單中提取或在提交表單後捕獲的d通過setValue方法,通過隱式變量動作發送傳遞給服務器的值,表單和表單被提交。
<jade:input type="text" name="dlblDesigDesc" value="" size="50"
classname="labeltext" style="color: black"
datasource="dsDesigHourDetail:designation" enabled="False">
</jade:input>
checkDesignation(OBJ,EVT)被定義爲
function checkDesignation(obj, evt) {
var evt = (evt) ? evt : (window.event) ? event : null;
if (evt) {
var len = TrimString(obj.value).length;
alert("Designation : " + obj.value);
if (evt.keyCode == 9 && len >= 0) {
if (len == 0) {
setErrMessage('Designation must be entered and not blank');
document.forms[0].htmlPageTopContainer_pageForm_detailDesigHourForm_dtxtDesigCd.focus();
document.forms[0].htmlPageTopContainer_pageForm_detailDesigHourForm_dtxtDesigCd.value = '';
setValue('DESIGNATION');
return false;
} else {
capitalize(obj);
setValue('DESIGNATION');
return true;
}
}
}
}
你犯了一個非常漂亮的能解密。現在確切的問題是什麼? – 2013-04-05 13:35:19