以下是我個人開發的一個訂單管理程序的訂單錄入介面. (開發平臺jdk1.4+tomcat5.0+sql2000+struts1.1)主要使用了javascript(子父窗口控制,彈出新窗口,子父窗口之間傳值).

以下是具體步驟.

第一步:主檔添加介面(如圖1)

當點擊客戶代號右邊的按鈕時.將彈出一個子窗口,然后點擊子窗口中的"選擇"鏈接.所選的客戶資料將傳遞到父窗口表單中.

以下是javascript代碼.

1.子父窗口傳值.

<script language="JavaScript">
function popup()
{
window.opener.document.all[
"test"].value='mytest'; //在子窗口設置父窗口表單元素的值.
window.close() //關閉子窗口.
}
</script>

<href="#" onClick="javascript:popup()">選擇</a> //調用代碼.

2.彈出新窗口

<script language="JavaScript">
function winopen(url,title)
{
window.open(url,title,
"toolbar=no,directories=no,menubar=no,scrollbars=yes,width=600,height=300");
}
</script>

//--調用代碼.
<href="#" onClick="javascript:winopen('order_formlistAction.do?action=add&nid=123456','add')">添加明細</a>

 


圖(1)
 

圖(2)

第二步: 添加明細資料(如圖3)

當主檔資料輸入完成.點擊"添加"按鈕后. 進入(圖3)所示介面.這里主要有二個狀態改變. "添加"按鈕自動變成"修改". 顯示明細資料介面.這里用了一個內框來顯示明細資料.

1.使用內框代碼.

<iframe src="order_formlistAction.do?action=view&nid=123456" name="com" id="com" width="100%" height="100%" marginwidth="0" marginheight="0" frameborder="0" align="center" scrolling="yes"></iframe>

2.控制內框是否顯示的代碼

我們這里使用struts提供的<logic:equal> 標簽. 主要判斷sale1ActionForm的action屬性的值.如果action的值等于edit就顯示內框.

<logic:equal name="sale1ActionForm" property="action" scope="request" value="edit"> 
<!--在這里加入內框代碼-->
</logic:equal>

 


圖(3)

第三步:明細資料管理(如圖4)

點擊"添加明細" 還是彈出一個子窗口. 這是一個明細添加介面.主要是錄入訂單的產品資料.在這里. 還是通過點擊產品代碼右邊的按鈕來彈出產品資料的"子窗口".從呂選擇要添加的產品. 當輸入完一筆資料后.按"添加"后.將自動關閉子窗口. 并刷新父窗口.

1.刷新父窗口代碼.

<script language="JavaScript" type="text/JavaScript">
window.opener.location.reload(); 
//刷新父窗口
window.close(); //關閉子窗口.
</script>

 


圖(4)

第四步: 完成輸入介面(如圖5)

在這里放了一個"完成"按鈕. 點擊即可導向其它介面.


圖(5)