Tôi hiện đang cố gắng xác thực một số giá trị front-end với một số phương thức phía máy chủ (dưới dạng nhóm) và đang chạy vào các vấn đề liên quan đến kết quả.Cách truy cập chính xác trường dữ liệu trong a4j: jsChức năng kết quả
Đây là XHTML cho nút bắt đầu nó tất cả:
<h:commandButton action="#{Bean.save()}"
value="Save"
id="save"
onclick="checkForConfirmation();" />
Và javascript, một phần trong đó các cuộc gọi nút, phần khác trong đó JsFunction gọi
function checkForConfirmation()
{
var name = document.getElementById("path:to:name").value;
var address = document.getElementById("path:to:address").value;
var city = document.getElementById("path:to:city").value;
var state = document.getElementById("path:to:state").value;
var zip = document.getElementById("path:to:zip").value;
jsFunc1(name, address, city, state, zip);
}
function showConfirmPrompt()
{
if(confirm('Confirmation before save'))
{
return true;
}
return false;
}
Và cuối cùng, jsFunction là mảnh có vấn đề:
<a4j:form>
<a4j:jsFunction name="jsFunc1" action="#{Bean.shouldBeConfirmed()}" data="#{Bean.booleanResult}" oncomplete="alert(data); if (data) {showConfirmPrompt();}">
<a4j:actionparam name="param1" assignTo="#{Bean.nameToBeValidated}"/>
<a4j:actionparam name="param2" assignTo="#{Bean.addressToBeValidated}"/>
<a4j:actionparam name="param3" assignTo="#{Bean.cityToBeValidated}"/>
<a4j:actionparam name="param4" assignTo="#{Bean.stateToBeValidated}"/>
<a4j:actionparam name="param5" assignTo="#{Bean.zipToBeValidated}"/>
</a4j:jsFunction>
</a4j:form>
Vấn đề là, để ngăn chặn sự kết thúc của chuỗi sự kiện này, cảnh báo (dữ liệu) trong thuộc tính 'không đầy đủ' cho thấy rằng dữ liệu không được xác định. Tôi cần điều này để được xác định để biết có hay không hiển thị một cuộc đối thoại cảnh báo.
Tôi có thể xác nhận rằng phương thức Bean.shouldBeConfirmed() thực sự đang chạy, và với thông số đúng, và thực sự trả lại giá trị chính xác, và thậm chí đặt giá trị của biến Bean.booleanResult (đây là một boolean java bình thường). Tôi làm gì sai ở đây?
Đây là câu hỏi phổ biến nhất của tôi. Tôi đoán rất nhiều người đang gặp vấn đề này. Chúc mừng bạn đã tìm được giải pháp và cảm ơn bạn đã chia sẻ nó! – Ben
Bạn được chào đón :) Thật vậy, đây là một vấn đề rất phổ biến! Tôi tự hỏi tại sao cộng đồng JBoss không tài liệu về gotchas như thế này ở một nơi. – Nikhil
Tại sao không bao gồm trong hướng dẫn di chuyển? Điều này đã giúp tôi rất nhiều, cảm ơn bạn. KHÔNG ĐƯỢC CỐ ĐỊNH TRONG 4.1 – Toskan