HTML Submit-button: Nilai / tombol-teks berbeda?

141

Saya ingin membuat tombol kirim formulir HTML dengan nilai 'add tag' , namun, halaman web dalam bahasa Swedia, jadi saya ingin memiliki teks tombol yang berbeda .

Artinya, saya ingin memiliki tombol suka

masukkan deskripsi gambar di sini

tapi saya ingin kode saya suka

if (request.getParameter(cmd).equals("add tag"))
    tags.addTag( /*...*/ );

Apakah ini mungkin? Jika ya, bagaimana caranya?

aioobe
sumber
4
Saya pikir nilainya seharusnya tidak penting. Anda cukup memeriksa keberadaan "add_tag" di data POST Anda
greg0ire
6
Saya membaca ini sebagai "Saya ingin teks masukan tidak relevan dengan pemrosesan sisi server saya" sehingga ketika Anda memiliki beberapa terjemahan untuk formulir, Anda tidak mendapatkan satu dari beberapa nilai teks yang diposting. Itu penting ketika formulir Anda memiliki beberapa tombol kirim dan Anda ingin melakukannya jika (request.getParameter ("submit-type").
Sama

Jawaban:

232

Itu mungkin menggunakan buttonelemen.

<button name="name" value="value" type="submit">Sök</button>

Dari halaman W3C di button:

Tombol yang dibuat dengan fungsi elemen BUTTON sama seperti tombol yang dibuat dengan elemen INPUT, tetapi tombol tersebut menawarkan kemungkinan rendering yang lebih kaya: elemen BUTTON mungkin memiliki konten.

Pekka
sumber
7
Sekadar catatan, ini tidak berfungsi seperti yang diiklankan di IE6 / 7. Artikel ini mungkin memperbaiki masalah, tetapi Anda akan mendapatkan masalah jika Anda menggunakan asp.net atau kerangka kerja lain yang melarang HTML pada postback: allinthehead.com/retro/330/…
ristonj
Anda juga bisa menggunakan properti name yang menyediakan output dalam POST
TheSatinKnight
23

Mengikuti saran @ greg0ire di komentar:

<input type="submit" name="add_tag" value="Lägg till tag" />

Di sisi server Anda, Anda akan melakukan sesuatu seperti:

if (request.getParameter("add_tag") != null)
    tags.addTag( /*...*/ );

(Karena saya tidak tahu bahasa itu (java?), Mungkin ada kesalahan sintaks.)

Saya lebih suka <button>solusinya, tetapi tidak berfungsi seperti yang diharapkan di IE <9 .

Sony Santos
sumber
14

Ada banyak jawaban di sini yang menjelaskan apa yang dapat Anda lakukan (saya menggunakan nama bidang yang berbeda satu) tetapi jawaban sederhana (dan belum disebutkan) untuk pertanyaan Anda adalah 'tidak' - Anda tidak dapat menggunakan teks dan nilai yang berbeda menggunakan hanya HTML.

ijw
sumber
2

Saya tidak tahu apakah Anda benar, tetapi, seperti yang saya mengerti, Anda dapat menggunakan bidang tersembunyi tambahan dengan nilai "tambahkan tag" dan biarkan tombol memiliki teks yang diinginkan.

Flinsch
sumber
3
Tidak membantu dengan beberapa tombol pada formulir yang sama, yang menurut saya adalah masalah OP.
ijw
Tidak dapat melihat bukti dari pertanyaannya bahwa ada beberapa tombol pada formulir yang sama.
Darren
0

Jika Anda menangani "menambahkan tag" melalui JScript:

<form ...>
<button onclick="...">any text you want</button>
</form>

Atau di atasnya jika ditangani melalui pemuatan ulang halaman

Andrey Pokhilko
sumber
2
Yay, JS diperlukan untuk setiap bentuk, terlepas dari kesederhanaannya. Selamat datang di ASP.NET.
ijw
Sebagai pengembang ASP.Net, saya dapat mengonfirmasi hal ini. : P Dengan asumsi Anda masih hidup di zaman webforms. ASP.Net MVC jauh lebih baik. Tidak ada kondisi tampilan, formulir pengemasan global, dll.
James Billingham