Я хочу сфокусировать ячейку, если она пуста, и запретить пользователю выходить из ячейки, пока он не введет значение.
Я попробовал несколько JS:
var flag = 0;
function setFocusFn(evt) {
console.log("Inside setFocusFn");
if (flag) return;
flag=1;
var element = evt.getSource();
var val = element.getValue();
var cid = element.getClientId();
var regexp = /^[0-9]+([.][0-9]+)?$/g;
var result = regexp.test(val);
if(val){
if(result){
valRounded = Math.ceil(element.getValue());
evt.getSource().setProperty('value', valRounded);
}
}
if(val == null){
element.focus();
//element.select();
evt.cancel();
setTimeout('flag=0', 1);
}else{
flag=0;
}
}
, это работает, но когда я правщелкните или щелкните любую ячейку в любом другом столбце, и я потерял фокус на этой ячейке.
Я использовал флаг, введенный в бесконечный цикл.