0

我有这个 BB10 应用程序,它将检查空值字段,然后提醒用户有关空字段的信息,一旦用户单击“确定”,焦点就会放在文本框中。我可以将焦点放在文本框中,但我无法在其中输入任何内容。

文本字段和按钮

 strDetailClaim += '<div class="detailsRow">';
 strDetailClaim += '<div class="detailsLabel">GL CODE</div><div 
 class="detailsValue"><input type="text" id="glCode_'+i+'"  
 name="glCode_'+referenceNo+'" size="9" value="'+detailsGLCode+'"></div>';

 strDetailClaim += '<span class="spanApprove"><button id="approveButton"   
 class="formButton" type="button" ontouchstart="shadowHighlight(this)" 
 ontouchend="noShadowHighlight(this); setTimeout(function()
 {approveClaim(\''+referenceNo+'\')},300)">APPROVE</div>';

部分approveClaim函数

 alert("GL Code for claim number " + indieClaim[referenceNo].details[i].runno + " must  
 not be empty. Please key-in GL Code");
 setTimeout(function(){document.getElementById('glCode_'+i+'').focus()},200);
 return false;

奇怪的是,如果我删除警报功能,我可以在文本框中获得焦点并能够在其中输入内容。

我在这里错过了什么吗?无论如何允许警报然后允许用户在文本框中输入?

4

2 回答 2

1

您是否尝试在设置焦点后调用警报?

还尝试将 document.activeElement 设置为 document.getElementById('glCode_'+i) 吗?

于 2013-08-05T20:15:37.337 回答
0

我不确定你是否是这种情况,但我遇到了同样的问题。

我的问题是,出于某种疯狂的原因,我的 CSS 中有这个

-webkit-user-select: none;

...这使我可以单击文本输入,但不允许我输入。

于 2013-08-07T12:45:47.877 回答