最近做到需要彈出視窗選擇值然後一併submit的功能,以下紀錄;
首先用的是Alloy UI的Dialog,用這個可以彈出網頁的其中一塊div區塊,
由於彈出的區塊跟原本的區塊不屬於同一頁,所以有傳值的問題要解決。
Alloy UI Dialog的程式碼如下;
這是Alloy 2.0,也就是6.2以上的寫法,
其中bodycontent裡的#replyDav就是你所要呼叫的div區塊ID,這個方法再經由popupReply()來呼叫。
呼叫出的彈跳視窗大致上長這樣;
當然彈跳視窗裡的東西就跟一般div標籤裡的沒什麼不同。
至於要傳值再submit,目前是以javascript解決;
先在form中設定要放參數的hidden欄位,然後可以使用
document.getElementById('<portlet:namespace />siteAndCategory').value = 要指定給的參數
這樣來賦值,如果是要抓checkbox的值的話,則可以用以下方法;
ifChecked[k] = document.getElementsByName('<portlet:namespace />siteIdCheckbox')[k].checked;
上面這一行抓是否有打勾,siteId是check的id,在其後加上Checkbox可以傳回是否打勾的布林值。
siteandcat[k] = document.getElementsByName('<portlet:namespace />siteId')[k].value
再用這一行去抓checkbox的值就可以了。
最後可以依照需要使用<c:if>標籤來控制要出現的欄位或按鈕,
submitForm(document.<portlet:namespace />fm);可以把form submit出去。
彈跳視窗功能大致上就可以使用了。
留言列表