Первая кнопка всегда используется по умолчанию; это не может быть изменено. В то время как вы можете попытаться исправить это с помощью JavaScript, форма будет работать непредсказуемо в браузере без использования сценариев, и есть некоторые моменты, которые нужно учитывать. Например, код, на который ссылается Zoran, случайно отправит форму при нажатии Enter в <input type="button">
, что обычно не происходит, и не поймает поведение IE при отправке формы для печати Enter для другого содержимого, не относящегося к полю. в виде. Поэтому, если вы щелкнете по тексту в <p>
в форме с этим сценарием и нажмете Enter, будет отправлена неправильная кнопка ... особенно опасно, если, как показано в этом примере, настоящей кнопкой по умолчанию является «Удалить»!
Мой совет - забыть об использовании скриптовых хаков для переназначения настроек по умолчанию. Перейти с потоком браузера и просто поставить кнопку по умолчанию в первую очередь. Если вы не можете взломать макет, чтобы получить нужный вам порядок на экране, то вы можете сделать это, установив сначала фиктивную невидимую кнопку в источнике с тем же именем / значением, что и кнопка, которую вы хотите использовать по умолчанию:
<input type="submit" class="defaultsink" name="COMMAND" value="Save" />
.defaultsink {
position: absolute; left: -100%;
}
(примечание: позиционирование используется для нажатия кнопки вне экрана, потому что display: none
и visibility: hidden
имеют побочные эффекты, зависящие от браузера, от того, используется ли кнопка по умолчанию и отправлена ли она.)