Как да създам HTML бутон, който действа като връзка?
Бих искал да създам HTML бутон, който действа като връзка. Така че, когато щракнете върху бутона, той пренасочва към страница. Бих искал той да бъде възможно най-достъпен.
Бих искал също така да няма никакви допълнителни символи или параметри в URL адреса.
Как мога да постигна това?
Въз основа на отговорите, публикувани досега, в момента правя това:
<form method="get" action="/page2">
<button type="submit">Continue</button>
</form>
но проблемът с това е, че в Safari и Internet Explorer се добавя въпросителен знак в края на URL адреса. Трябва да намеря решение, което да не добавя никакви знаци в края на URL адреса.
Има две други решения, които правят това: Използване на JavaScript или оформяне на връзката като бутон.
Използване на JavaScript:
<button onclick="window.location.href='/page2'">Continue</button>
Но това очевидно изисква JavaScript и поради тази причина е по-малко достъпно за екранни четци. Смисълът на връзката е да се отиде на друга страница. Затова опитът да накарате бутон да действа като връзка е погрешно решение. Моето предложение е да използвате връзка и да я оформите така, че да прилича на бутон.
<a href="/link/to/page2">Continue</a>
HTML
Обикновеният HTML начин е да го поставите в `
, като посочите желания целеви URL адрес в атрибута
action`.Ако е необходимо, задайте CSS
display: inline;
на формуляра, за да го поддържате в поток със заобикалящия го текст. Вместо<input type="submit">
в горния пример, можете да използвате и. Единствената разлика е, че елементът
позволява деца.Интуитивно'бихте очаквали да можете да използвате `
аналогично на елемента
`, но за съжаление не, този атрибут не съществува според HTML спецификацията.CSS
Ако CSS е разрешен, просто използвайте
<a>
, който стилизирате така, че да изглежда като бутон, използвайки между другото свойствотоappearance
(само поддръжката на Internet Explorer в момента (юли 2015 г.) все още е слаба).Или изберете една от многото CSS библиотеки като Bootstrap.
JavaScript
Ако JavaScript е разрешен, задайте
window.location.href
.Единственият начин да се направи това (с изключение на гениалната идея на BalusC'за формуляра!) е да се добави събитие JavaScript
onclick
към бутона, което не е добре за достъпността.Обмисляли ли сте да оформите нормална връзка като бутон? По този начин не можеш да постигнеш специфични за операционната система бутони, но все пак това е най-добрият начин, IMO.