Form göndermeyen bir yapabilir miyim?

2 düğmeli bir formum var

<a href="index.html"><button>Cancel changes</button></a>

<button type="submit">Submit</button>

Onlarda da jQuery UI'nin düğmesini kullanıyorum, basitçe şu şekilde

$('button').button();

Ancak, ilk düğme aynı zamanda formu gönderir. Eğer type="submit" olmasaydı, göndermezdi diye düşünürdüm.

Açıkçası bunu yapabilirim

$('button[type!=submit]').click(function(event) { event.stopPropagation(); });

Ancak JavaScript müdahalesi olmadan geri düğmesinin formu göndermesini engellemenin bir yolu var mı?

Dürüst olmak gerekirse, sadece jQuery UI ile şekillendirebilmek için bir düğme kullandım. Bağlantı üzerinde button() çağırmayı denedim ve beklendiği gibi çalışmadı (oldukça çirkin görünüyordu!).

Çözüm

buttonöğelerinin [typeniteliği][1] için varsayılan değer * "submit"'dir. Formu göndermeyen bir düğme üretmek için bunutype="button"` olarak ayarlayın.

Submit

HTML Standardı]1'in sözleriyle: "Hiçbir şey yapmaz."

Yorumlar (5)

Buton` öğesinin varsayılan türü submittir.

Bir button türü ayarlayarak hiçbir şey yapmamasını sağlayabilirsiniz:

Cancel changes
Yorumlar (2)

Sadece eski güzel HTML kullanın:

<input type="button" value="Submit" />

İsterseniz bunu bir bağlantının konusu olarak paketleyin:

<a href="http://somewhere.com"><input type="button" value="Submit" /></a>

Ya da javascript'in başka bir işlevsellik sağlamasını istediğinize karar verirseniz:

<input type="button" value="Cancel" onclick="javascript: someFunctionThatCouldIncludeRedirect();"/>
Yorumlar (12)