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?


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.


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 .


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.


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.


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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.