Kendi sayfanızda HTML formu gönderin


103

Bir HTML formunun kendisine gönderilmesini istiyorum. actionÖzniteliği nasıl kullanırım ?

  1. <form action="">
  2. <form action="#">
  3. <form action="some/address">
  4. <form>

Hangisi tercih edilirdi?



Belgenizin <doctype> nedir? Size cevap vermeye yardımcı olacaktır.
Milche Patern

sadece basit değil eylem
atribute

Yanıtlar:


124

2013'te, tüm HTML5 şeyleriyle, bir formu kendi kendinize göndermek için "eylem" özelliğini atlayabilirsiniz.

<form>

Aslında, mevcut HTML5 taslağının Form Gönderme alt bölümü, action = "" (boş öznitelik) izin vermiyor. Spesifikasyona aykırı.

Gönderen bu diğer yığın taşması cevap .


1
<? Php $ _PHP_SELF?> Kullandım ve eylemin boş bırakılamayacağı hatasını aldım, sanırım sadece onu bırakacağım
Drewdin

2
Kafam karıştı. actionÖzniteliği hep birlikte bırakıp boş bırakmamak w3 geçerli midir?
bay martin

Bunun için $ _GET veya $ _POST ile parametrelere erişmem gerekiyor.
Siyah

22

Kullanım ?:

<form action="?" method="post">

Kullanıcıyı aynı sayfaya geri gönderecektir.


Bu harika!
beppe9000

3
O kadar harika değil. Bu, varsa mevcut URL'nin tüm sorgu dizelerini kaldırır.
OMA

1
Sorgu dizelerini kaldırmak istiyorum: 3
VoidZA

21

Eylem özelliğini boş bırakabilirsiniz. Form otomatik olarak aynı sayfada gönderilecektir.

<form action="">

Göre W3C spesifikasyonu , action özelliği genelde boş olmayan geçerli URL olmalı. Eylem özniteliğinin boş bırakılabileceği bazı durumlar için bir açıklama da vardır.

Bir öğenin eylemi, öğe bir Gönderme Düğmesiyse ve böyle bir özniteliğe sahipse, öğenin biçimleme özniteliğinin değeridir veya varsa, form sahibinin eylem özniteliğinin değeridir veya boş dizedir.

Yani ikisi de hala geçerli ve çalışıyor:

<form action="">
<form action="FULL_URL_STRING_OF_CURRENT_PAGE">

Hedef kitlenizin html5 tarayıcıları kullandığından eminseniz, eylem özniteliğini bile atlayabilirsiniz:

<form>

'Eylem' özniteliğinin boş bırakılabileceğini ve doğrulayabileceğini onaylayabilir misiniz?
Milche Patern

4
Doğrulamıyor. : Öğe formundaki öznitelik eylemi için hatalı değer: Boş olmamalıdır.
Azd325

2
HTML5 spesifikasyonuna göre eylem olarak boş bir dizeye izin verilmez: w3c.github.io/html/sec-forms.html#element-attrdef-form-action
Thomas

1
Benim için işe yarayan tek şey bu. <br/> link Eğer belirtilmişse, eylem ve oluşum içerik öznitelikleri, eğer varsa, boşluklarla çevrili, geçerli ve boş olmayan bir URL değerine sahip olmalıdır ........ eğer varsa, boş dizge.
JoelBondurant

"doğrulanmıyor" kavramı saçmadır çünkü XML'inizi doğrulayabilecek tek kişi sizsiniz. XML'in amacı budur - XML ​​belgeniz için doğru olmasını istediğiniz bir dizi kural söylüyorsunuz, bunları DTD'de kodlayın ve XML ayrıştırıcısının aldatıcı bir şekilde zor ayrıştırmayı ele almasını sağlayın. XML'in bugün hala önemli olmasının bir nedeni budur - JSON, text, csv gibi istediğiniz herhangi bir modeli alabilir, bu formattan XML'e basit bir dönüştürücü yazabilir, o XML için bir DTD yazabilir ve bam, ihtiyaç duymayı atlayabilirsiniz. kendi doğrulayıcınızı yazmak için XML bunu zaten yaptı!
Dmitry

12

Php kullanarak bir form gönderiyorsanız, şunu kullandığınızdan emin olun:

action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"

güvenlik için.


-1

Eylem özniteliğinde aynı sayfayı kullanarak bunu yapabilirsiniz: action='<yourpage>'

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.