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

以下是具體步驟.

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

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

以下是javascript代碼.

1.子父窗口傳值.

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

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

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>

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

 


圖(1)
 

圖(2)

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

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

1.使用內(nèi)框代碼.

<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.控制內(nèi)框是否顯示的代碼

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

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

 


圖(3)

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

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

1.刷新父窗口代碼.

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

 


圖(4)

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

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


圖(5)