Genellikle, adın her zaman id ile değiştirildiği varsayılır . Bu bir dereceye kadar doğrudur, ancak pratik olarak konuşursak form alanları ve çerçeve adları için geçerli değildir . Örneğin, form öğeleriyle name
öznitelik, sunucu tarafı bir programa gönderilecek ad-değer çiftlerini belirlemek için kullanılır ve bunların kaldırılmaması gerekir. Browsers do not use id in that manner
. Güvenli tarafta olmak için, form öğelerinde ad ve kimlik niteliklerini kullanabilirsiniz. Yani, aşağıdakileri yazardık:
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
Uyumluluğu sağlamak için, her ikisi de tanımlandığında eşleşen ad ve kimlik özellik değerlerine sahip olmak iyi bir fikirdir. Ancak, dikkatli olun — bazı etiketler, özellikle radyo düğmeleri, benzersiz olmayan ad değerlerine sahip olmalı, ancak benzersiz kimlik değerleri gerektirmelidir.Bir kez daha, bu kimliğin sadece adın yerine geçmediği anlamına gelmelidir; amaç bakımından farklıdırlar. Dahası, eski stil yaklaşımını indirim yapmayın, modern kütüphanelere derinlemesine bakmak, zaman zaman performans ve kolaylık için kullanılan bu sözdizimi stilini gösterir. Hedefiniz her zaman uyumluluk lehine olmalıdır.
Çoğu öğede, name özniteliği daha yaygın kimlik özniteliği lehine kullanımdan kaldırıldı. Ancak, bazı durumlarda, özellikle alanları oluştururlar ( <button>
, <input>
, <select>
ve <textarea>
), bu form gönderimine ilişkin ad-değer çifti ayarlamak için gerekli olmaya devam çünkü isim nitelik yaşıyor. Ayrıca, bazı öğelerin, özellikle de çerçevelerin ve bağlantıların, ad özniteliğini kullanmaya devam edebileceğini görüyoruz, çünkü bu öğeleri ada göre almak için genellikle yararlıdır.
Kimlik ve isim arasında açık bir ayrım var. Çoğu zaman ad devam ettiğinde, değerleri aynı şekilde ayarlayabiliriz. Ancak, kimlik benzersiz olmalıdır ve bazı durumlarda isim olmamalıdır — radyo düğmelerini düşünün. Ne yazık ki, kimlik değerlerinin benzersizliği, biçimlendirme doğrulamasıyla yakalanırken olması gerektiği kadar tutarlı değildir. Tarayıcılarda CSS uygulaması, kimlik değerini paylaşan nesneleri biçimlendirir; bu nedenle, çalışma zamanımıza kadar JavaScript'imizi etkileyebilecek biçimlendirme veya stil hatalarını yakalayamayabiliriz.
Bu, JavaScript- The Complete Reference by Thomas-Powell