Bağlantı görevi gören bir HTML düğmesi oluşturmak istiyorum. Bu nedenle, düğmeyi tıkladığınızda bir sayfaya yönlendirir. Mümkün olduğunca erişilebilir olmasını istiyorum.
URL'de fazladan karakter veya parametre olmaması için de bunu istiyorum.
Bunu nasıl başarabilirim?
Şimdiye kadar gönderilen cevaplara dayanarak, şu anda bunu yapıyorum:
<form method="get" action="/page2">
<button type="submit">Continue</button>
</form>
ancak bununla ilgili sorun Safari ve Internet Explorer'da URL'nin sonuna bir soru işareti karakteri eklemesidir. URL'nin sonuna herhangi bir karakter eklemeyen bir çözüm bulmam gerekiyor.
Bunu yapmak için başka iki çözüm daha vardır: JavaScript kullanmak veya düğme gibi görünecek bir bağlantı oluşturmak.
JavaScript kullanma:
<button onclick="window.location.href='/page2'">Continue</button>
Ancak bu açıkça JavaScript gerektirir ve bu nedenle ekran okuyucuları için daha az erişilebilirdir. Bağlantının amacı başka bir sayfaya gitmektir. Bu yüzden bir düğmeyi bağlantı gibi davranmaya çalışmak yanlış çözümdür. Benim önerim, bir bağlantı kullanmanız ve bir düğme gibi görünmesi için stil vermenizdir .
<a href="/link/to/page2">Continue</a>
GET
başarısız olur. Yine de bir bağlantı kullanmanın, düğme gibi aktif olduğunda "boşluk çubuğuna" tepki vermeyeceği konusunda uyarıda bulunduğunu düşünüyorum. Ayrıca bazı stil ve davranışlar farklı olacaktır (sürüklenebilir gibi). Gerçek "düğme-bağlantı" deneyimini istiyorsanız, URL'yi ?
kaldırmak için sunucu tarafı yönlendirmelerinin kaldırılması da bir seçenek olabilir.
?
URL'deki ilk sorununu ele almadı . Bu, formun olmasından kaynaklanırtype="GET"
, bunu olarak değiştirintype="POST"
ve?
URL'nin sonunda yok olur. Bunun nedeni GET'in URL'deki tüm değişkenleri göndermesidir?
.