Jelas, tidak ada solusi dengan HTML murni untuk mengirimkan formulir dengan a
tag tautan ( ). HTML standar hanya menerima tombol atau gambar. Seperti yang dikatakan beberapa kolaborator lain, orang dapat mensimulasikan tampilan tautan menggunakan tombol, tapi saya kira itu bukan tujuan dari pertanyaan.
IMHO, saya percaya bahwa solusi yang diajukan dan diterima tidak bekerja.
Saya telah mengujinya di formulir dan browser tidak menemukan referensi ke formulir.
Jadi adalah mungkin untuk menyelesaikannya menggunakan satu baris JavaScript, menggunakan this
objek, yang mereferensikan elemen yang diklik, yang merupakan simpul anak dari formulir, yang perlu diserahkan. Begitu this.parentNode
juga dengan bentuk simpul. Setelah itu baru memanggil submit()
metode dalam bentuk itu. Tidak perlu penelitian dari seluruh dokumen untuk menemukan formulir yang tepat.
<form action="http://www.greatsolutions.com.br/indexint.htm"
method="get">
<h3> Enter your name</h3>
First Name <input type="text" name="fname" size="30"><br>
Last Name <input type="text" name="lname" size="30"><br>
<a href="#" onclick="this.parentNode.submit();"> Submit here</a>
</form>
Misalkan saya masuk dengan nama saya sendiri:
Saya telah menggunakan get
atribut metode formulir karena dimungkinkan untuk melihat parameter yang tepat di URL di laman yang dimuat setelah mengirim.
http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum
Solusi ini jelas berlaku untuk semua tag yang menerima onclick
acara atau kejadian serupa.
this
adalah pilihan yang sangat baik untuk memulihkan konteks bersama dengan event
variabel (tersedia di semua browser utama dan IE9 dan seterusnya) yang dapat digunakan secara langsung atau diteruskan sebagai argumen ke suatu fungsi.
Dalam hal ini, ganti baris dengan a
tag dengan garis di bawah ini, menggunakan properti target
, yang menunjukkan elemen yang telah memulai acara.
<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a>