Form etiketi gerekli mi?

5 Cevap php

Benim HTML kodunda, iki giriş kutuları, kullanıcı adınızı ve şifrenizi içeren bir form etiketine sahip. Form veritabanı ile değerlerini doğrular ve giriş başarılı ise başka bir sayfaya yönlendirir bir PHP dosyası değerlerini gönderir.

Bu yaklaşım ile ilgili bir sorun AJAX değilse, bu giriş başarısız olsa bile sayfayı yeniler olmasıdır.

Ben, tamamen form etiketi kaldırmak HTML olarak aynı dosya içine PHP kodu birleştirmek istiyorum. Bunun için giriş kutuları için onclick() olay eklemek için çalıştı. Form etiketi kaldırıldı çünkü Ama, garip bir şey oldu. Ben kullanarak değerleri aldı: document.getElementByID

Ben bir giriş etiketi form etiketi içinde kapalı olması için gerekli olup olmadığını bilmek istiyorum? Ben sadece giriş kutusu istiyorum ve bazı operasyon onclick olayı kullanarak yapmış olmak istiyorsanız, işe yarar mıydı?

5 Cevap

Eğer bir biçimde onları koymak istiyorsanız, yine de; Sadece formda bir Gönder düğmesi koymayın. Bir <button type="button"> elemanı kullanırsanız, düğme form gönderme algılanmaması gerekir.

Benim tercih edilen yöntem, <form> etiketi bırakmak ama formun onsubmit olayı ve sadece return false yakalamaktır.

<form name="foo" id="foo" action="" method="post">
  <input type="text" name="bar" id="bar" />
</form>

İşte yaklaşımı göstermektedir bazı kaba PrototypeJS kod.

<script type="text/javascript">
  //Handle the window onload event
  Event.observe(window, 'load', function() {

    //Handle the form submit event
    Event.observe($('foo'), 'submit', function(event) {
      //Stop the event so the form doesn't actually submit
      Event.stop(event);
    });

  });
</script>

Bu onClick () kullanarak kendi işleyicileri yazarsanız formu göndermek için gerekli değildir. Ama semantik HTML mark-up korumak gerekir.

Bir giriş etiketi siz istediğiniz gibi çalışması için site için bir form etiketi içine alınması için gerekli değildir.

Ancak, kullanıcıların çoğunluğu kullanabilirsiniz böyle bir şekilde sitenizi oluşturmak gerekir. Onlar iyi bir deneyim olacak öylesine JavaScript etkin olmayan veya JavaScript yetenekleri olmayan bir tarayıcı ile sitenizi incelemekte olan kullanıcılar için, hala sitenizi geliştirmek gerekir.

Site JavaScript olmadan düzgün çalışır, sonra AJAX davranış Progressive Enhancement ilkeleri aşağıdaki ilave edilmelidir. Mark belirttiği gibi, varsayılan davranışı yürütülmesini formu önlemek için en iyi yolu - formun onsubmit olay işleyicisi return false.

Eğer doğrulama geçirmeden semantik HTML oluşturmak için çalışıyoruz eğer siz de form etiketi gerekir.

Genellikle tavsiye edilir, ancak bu gerekli değildir. Aslında o olmadan sıkı html 4.01 olarak doğrular.