[英]validate textfield onkeypress event in firefox JSP
我編寫了onKeyPress事件,該事件在用戶輸入一些文本時驗證文本,然后從某個字段跳出時應該驗證文本,並且如果未輸入任何內容或輸入了錯誤的值,則應該給出錯誤信息以通知用戶,並將焦點返回到該字段,並且用戶必須除字段的幫助按鈕外,不允許進入下一個字段。
<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標記“ PickList”,它基本上是一個按鈕,該按鈕顯示一個模態窗口,其中包含有關相關字段的數據庫幫助,從幫助窗口中選擇后,從數據庫中選擇的記錄將顯示在JSP的文本字段中。
我們以前的供應商使用了經過修改的SOFIA框架,現在我必須維護代碼。 早期代碼的問題在於,該按鈕必須雙擊才能獲得幫助,因為它使用的是onblur而不是onkeypress,並且需要多次嘗試,因為它一直在給出錯誤。
先前使用onblur的代碼是
onblur="setValue('DESIGNATION');" onkeyup="capitalize(this);"
現在已被替換為
onkeypress= "checkDesignation(this, event);">
JSP中的幫助按鈕/ PickList的代碼如下:
<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'" />
在該字段中,捕獲的指定描述是從選擇列表中選擇的,或者是通過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;
}
}
}
}
檢查這個
$("#textbox").bind("onKeyPress ", function (e) {
if (e.altKey || e.ctrlKey || e.shiftKey){
return true;
}
else{
// you have this text box inner text in this.val() and can be checked with
your validate function.
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.