0
我一直在試圖讓下面的Javascript沒有任何喜悅的工作。函數預計在javascript
我一直在調用確認對話框時獲得預期的功能。
誰能告訴我我做錯了什麼。
代碼的要點是,我首先檢查以確保表單驗證器不會觸發,然後我得到兩個ASPNET單選按鈕列表的值,然後檢查是否在兩個複選框列表中選擇了項目。
如果我在複選框中至少選中了一個項目,並且任一個單選按鈕列表都設置爲yes,那麼我想彈出確認對話框。
function FormSubmissionConfirm() {
if (Page_ClientValidate()) {
//get all the relevant form values
var showConfirm = false;
var storage = document.getElementsByName("<%: StorageRBL.UniqueID%>");
var storageAnswer;
for (var j = 0; j < storage.length; j++) {
if (storage[j].checked) {
storageAnswer = storage[j].value;
}
}
var flat = document.getElementsByName("<%: FlatRBL.UniqueID%>");
var flatAnswer;
for (var j = 0; j < flat.length; j++) {
if (flat[j].checked) {
flatAnswer = flat[j].value;
}
}
var confirm = document.getElementById("<%: preferedlist.ClientID%>");
var confirmChkBoxCount = confirm.getElementsByTagName("input");
var confirmAnswer;
for (var i = 0; i < confirmChkBoxCount.length; i++) {
if (confirmChkBoxCount[i].checked)
confirmAnswer = true;
}
var reminder = document.getElementById("<%: reminderList.ClientID%>");
var chkBoxCount = reminder.getElementsByTagName("input");
var reminderAnswer;
for (var i = 0; i < chkBoxCount.length; i++) {
if (chkBoxCount[i].checked)
reminderAnswer = true;
}
if (reminderAnswer ==true && confirmAnswer == true) {
if (storageAnswer == "yes" || flatAnswer == "yes") {
showConfirm = true;
}
}
if (showConfirm)
return confirm("Please confirm that the details that have been entered are correct");
else
return true;
}
else {
return true;
}
}
這是按鈕的標記。
<asp:Button runat="server" Text="Confirm" CssClass="btn btn-lg btn-primary pull-right" ID="ConfirmBtn" OnClientClick="if (! FormSubmissionConfirm()) return false;" OnClick="ConfirmBtn_Click" CausesValidation="True" />
任何幫助,這將不勝感激。
謝謝 Martin。
Doh!感謝那一個 – Martin