Ben bu soruyu göndermek üzereyken, ben an easy solution türden-bir çözüm geldi.
Sorun kullanıcı tarafından seçilen dile bağlı olarak, birden çok dilde onay mesajlarının gerekli oldu. Ben her zaman HTML belirli bilgi kapmak beri, ben bu şekilde yapmaya çalışıyor, ama bu nokta etrafında takıldı:
Burada kullanıcı için basit silme düğmesi doğru mesajı bir başlık niteliğini kullanarak, var (sadece metin değil bu örnekte, kodu, doğru çeviri içeren bir değişken):
<input type="submit" name="delete" value="Delete me" title="Are you sure?" />
Ve sonra o kadar gibi, jQuery ile bu satırı almak ve onaylamak kutusunda görüntülemek:
$("input[type='submit'][name='delete']").click(function() {
return confirm($(this).attr('title'));
});
Ancak, bu hala giriş elemanı ben sevmiyorum Mouseover ile görünür olan bir başlık vardı demek istiyorum. Onaylama kutusunu iptal ve tekrar butonuna tıklayarak daha sonra boş bir mesajın neden olacaktır çünkü çıkarmadan, gerçekten bir seçenek değildi.
Metin basit bir çizgi almak için neyse, bütün bu yaklaşım, sadece benim için çalışma değildi. Sonra $ düşündüm olsun (). - Ben daha önceki düşünmemiştim neden diğer senaryolarda o her zaman kullanmak çünkü ve ben, bilmiyorum.
Yani bu doğrudan HTML ile uğraşmak zorunda ve başlıkları veya diğer özelliklerini dışarı okumadan, JavaScript içine doğru metinleri almak için genel olarak oldukça iyi bir çözümdür sanırım.
$("input[type='submit'][name='delete']").click(function() {
$.get('something.php', {
action: 'getText',
variable: 'confirm_delete'
}, function(text) {
return confirm(text); // doesn't return instantly...
});
return false; // breaks the form action...
});
UPDATE
Ok, now I turn this back into a question about the last part of the jQuery script. It seems that $.get()
needs some time to retrieve the information. It's propably not much time at all, but it's some, and in the mean time, the form is already being submitted. The return false
at the bottom solves this in part, because it's the first thing that gets returned. But then, when the return confirm
follows, clicking OK won't do much of anything, since return false
already stopped the default button action.
Yani .. benim soru: $.get()
kullanarak metni almak için bir yol var, ve form gönderme kadar bekler ki böyle bir şekilde return confirm
yüklenir?