我已經在web應用以下情況我的工作:放置焦點上輸入框在IE
我有與一組索引字段值的,用戶將信息輸入表格並提交表單到服務器。字段驗證發生在服務器上。如果發現任何字段無效,表單會重新顯示,我希望輸入焦點自動轉到第一個無效字段。我有代碼來實現它,但問題是焦點並沒有放在IE 10的領域(但它被放置在Firefox中)。
placefocusonfirstinvalidindexfield();
// After an attempt to upload has failed due to one or more invalid fields, then place the input focus automatically on the first
// invalid field:
function placefocusonfirstinvalidindexfield() {
var hasattemptedupload = '@Model.HasAttemptedUpLoadNumeric';
if (hasattemptedupload == 1) {
var indexfirstinvalidfield = '@Model.GetIndexOfFirstInvalidField()';
// focusIndexField(indexfirstinvalidfield);
setTimeout(focusIndexField(indexfirstinvalidfield), 100);
}
}
function focusIndexField(fieldindex) {
var control = document.getElementById("field" + fieldindex);
control.focus();
}
在上面的代碼中,我已確認正在引用正確的字段。一切似乎都應該如此,除了在過程結束時,IE10並未將重點放在引用的字段上。爲什麼不,我必須做些什麼才能做到這一點?
我試過把它延長到5秒,它仍然沒有把焦點放在IE10的字段上。 –