Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
421 views
in Technique[技术] by (71.8m points)

How to set Yii2 ajaxCrud modal's activeform input field autofocus

I have a little trouble:

  • How to set Yii2 ajaxCrud modal's activeform input field autofocus?

I've tried:

  • Set autofocus attribute
  • Using jquery .focus()
  • Using jquery .focus() with setTimeOut

But the results got same:

  • The blinking cursor focus at input just 1 second then disappear suddenly, and help block show validate errors!

I've set ActiveForm::begin(['validateOnBlur' => false]) but got same result and not showing helpblock, input still unfocus after 1s.

What should I do now? Thank you!

Solved, may other people need:

 $('#ajaxCrudModal').on('shown.bs.modal', function() {
        $("#mauxetnghiemvitri-code").focus();
    });

enter image description here

enter image description here

enter image description here

question from:https://stackoverflow.com/questions/66066427/how-to-set-yii2-ajaxcrud-modals-activeform-input-field-autofocus

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

you should add some delay for focus event

$('#ajaxCrudModal').on('shown.bs.modal', function() {
    setTimeout(function(){
        $("#mauxetnghiemvitri-code").focus();
    },1000)
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...