için istemi JSF 1.2 webapp'ımda, bir destekleyici üzerinde bir eylem yöntemi çağırır <h:commandButton>
içeren bir sayfam var. Bu işlem, verilerin veritabanında kaldırılmasına/değiştirilmesine neden olacak, bu yüzden kullanıcının komut düğmesine yanlışlıkla tıkladığı durumlardan kaçınmak istiyorum.JSF - JavaScript'i nasıl uygularım? "Emin misiniz?" Bir <h: commandButton>
Basit bir "Uygulamadan Emin misiniz?" JavaScript kullanarak "Evet/Hayır" veya "Tamam/İptal" seçenekleriyle bilgi isteyin. JavaScript ile harika değilim ve daha önce JSF ile JavaScript'i hiç karıştırmam. Bunu nasıl uygulayacağımı göstermek için herhangi bir kod snippet'i olan var mı?
<h:commandButton
id="commandButtonAcceptDraft"
title="#{bundle.tooltipAcceptDraft}"
action="#{controller.actionReplaceCurrentReportWithDraft}"
image="/images/checkmark.gif">
</h:commandButton>
ÇÖZÜM: BalusC tarafından sağlanan
çözüm gayet güzel çalıştı İşte
Ben komut düğmesini beyan benim JSP sayfasının parçasıdır. Ayrıca, kaynak metin olarak bir metin paketinden metin kullanmanın kolay olduğunu belirtmek istedim. Benim sayfasında, böyle bir eleman ile kaynak paketi yüklemek:<f:loadBundle basename="com.jimtough.resource.LocalizationResources" var="bundle" />
<f:loadBundle>
senin <f:view>
içinde olmalıdır. Ardından, BalusC tarafından sağlanan kodu komut düğümü öğesine ekledim, ancak 'Emin misin?' Için kaynak grubumdan bir dize koyuyorum. Böyle metin,:
<h:commandButton
id="commandButtonAcceptDraft"
title="#{bundle.tooltipAcceptDraft}"
action="#{controller.actionReplaceCurrentReportWithDraft}"
image="/images/checkmark.gif"
onclick="return confirm('#{bundle.confirmationTextAcceptDraft}')">
</h:commandButton>
İngilizcemi kaynak dosyası hat (anahtar/değer çiftleri ile sadece düz metin dosyası) aşağıdaki gibidir:
# text displayed in user prompt when calling confirm()
confirmationTextAcceptDraft=This will overwrite the current report and cannot be undone. Are you sure?
@CoolBeans çözümü benim durumumda doğrudur, aksi halde eylem sayfayı yeniden yükler.MyFaces ve BootsFaces kullanıyorum – MitchBroadhead
@MitchBroadhead Sonra JSF impl veya söz konusu bileşen kitaplığı onclick özniteliğini yanlış bir şekilde üretir. Sadece oluşturulan HTML çıktısına bakın ve sorumlu geliştiriciye sorun bildirin. – BalusC
BootsFaces'de bir hata yaptım ve Stephan şimdi sorunu çözdü – MitchBroadhead