Я работаю над формой html, в которой используется jscript для выполнения таких функций, как загрузка форм, загрузка формы со значениями по умолчанию, проверка данных и другие. Затем он использует htm для отображения страницы.Установить фокус на поле формы и выбрать текст по умолчанию при загрузке формы
При загрузке формы первое поле заполняется данными по умолчанию, что соответствует 99% времени. Я хочу, чтобы первое поле формы не только фокусировалось на загрузке, но также имело выбранное по умолчанию значение (текст) так, чтобы 1% пользователей могли легко начинать вводить текст без необходимости перепропускать или выделять текст.
Я просмотрел несколько сайтов, включая stackoverflow, и наиболее распространенным предложением является добавление строки - fieldid.select(); Эта строка немедленно будет следовать линии фокусировки - fieldid.focus(); Добавление строки выбора не имело никакого эффекта. Поле действительно получает фокус, но курсор мигает в конце текста по умолчанию, и текст не выбран.
Вот фрагмент кода, который я использую ...
function windowLoad()
{
hideExtraFields();
loadFormSettings();
comboEventType.focus();
var params = getUseCaseParams();
if (params)
{
inputLocation.value = params.EventLocation;
comboEventType.value = "This is the default text";
comboEventSubtype.value = "this is the default subtext";
}
else
{
var unitData = getMyUnitData();
inputLocation.value = unitData.Position.LocationString;
comboEventType.value = "This is the default text";
comboEventSubtype.value = "this is the default subtext";
}
}
Ваша логика имеет смысл. Однако это не сработало, когда я переместил comboEventType.focus(); и comboEventType.select(); ко дну. Поле по-прежнему фокусируется на загрузке формы, но текст не выбран. Мне было интересно, может ли это лучше обрабатываться в html-коде, а не в jscript. –
Я также попытался помещать эти две строки кода в функцию loadFormSettings(); опять же, поле по-прежнему приобретает фокус, но не выбирает. –
Можете ли вы показать больше кода? Является ли comboEventType текстовым вводом? Что-то происходит после windowLoad()? – bingo