Ajax 板


LINE

小弟目前設計報表上傳系統.最後一個環節卡住了. 邏輯概念是這樣的: 使用者可利用此系統上傳多筆銷售資料.多筆資料藉由表單變數+迴圈控制達成多筆上傳功 能 上傳表單使用jquery連動選單,js欄位檢查與加總運算. 問題點: 使用者當填入第一份報表部份資料後想新增第二筆資料,按下Add New Report送出表單變 數新增第二份報表,但剛剛所填寫第一份報表的資料沒辦法暫存. 因為頁面reload,但卻無相關表單變數,如圖所示 http://140.124.90.41/up/a/23.jpg
程式部份: 1.上方表單-用來傳遞表單變數搭配迴圈.按下Add New Report會傳遞變數number給下方上 傳表單使用,利用send()控制報表生成數量上限值 <form name="form2" method="post" action="week_up.php?type=report"> <font color=red onclick='send()'> Add New Report</font>; <input name="number" type="text" id="number" value="<?php echo((isset($_POST["number"]))?$_POST["number"]+1:"1") ?>" style="display:none"> <input type="submit" name="button5" value="Submit" style="display:none"> </form> JS send()-報表生成最大值為10 function send(){ if(document.form2.number.value==10) {alert('report number limit') return false;} document.form2.submit(); } 2.上傳表單部份-利用迴圈程式接收表單變數生成表格 <?php for( $i=1; isset($_POST['number'])?$i<=1+$_POST['number']:$i<=1; $i++){ ?> <table id="table" width='90%' border="1" align=center cellpadding=5 cellspacing=2 bordercolor="#E4E4E4"> <tr> <td valign=middle class='f_one'><font color="red">*</font>Report Type</td> <td class='f_one'><select name="report_type[]" id="report_type<?php echo $i?>"> <option value="">------------</option> <option value="Sell-In" >Sell-In</option> <option value="Sell-Out">Sell-Out</option> <option value="Inventory">Inventory</option> </select></td> </tr> <tr> <td width=19% valign=middle class='f_one'><font color="red">*</font>Channel Type</td> <td width=81% class='f_one'><select name="class1[]" id="class1<?php echo $i?>" onclick="if(this.options[this.selectedIndex].value =='Retail'){this.form.class2<?php echo $i?>.style.display='inline';} else this.form.class2<?php echo $i?>.style.display='none';"> <option value="">Channel Type</option> <?php // 資料庫設定 mysql_select_db($database_mio, $mio); $query = sprintf("SELECT DISTINCT class1 FROM company"); $result = mysql_query($query, $mio); while ($row = mysql_fetch_assoc($result)) { echo '<option value="' . $row["class1"] . '">' . $row["class1"] . '</option>' . "\n"; } ?> </select> <select name="class2[]" id="class2<?php echo $i?>" style="display:none" > <option value="NULL">-Channel Type 2-</option> <?php do { ?> <option value="<?php echo $row_c_type2['class2']?>"><?php echo $row_c_type2['class2']?></option> <?php} while ($row_c_type2 = mysql_fetch_assoc($c_type2)); $rows = mysql_num_rows($c_type2); if($rows > 0) { mysql_data_seek($c_type2, 0); $row_c_type2 = mysql_fetch_assoc($c_type2); } ?> </select> - <select name="class3[]" id="class3<?php echo $i?>"> <option value="">-Distribution Channel-</option> <?php do {?> <option value="<?php echo $row_c_type3['class3']?>"><?php echo $row_c_type3['class3']?></option> <?php} while ($row_c_type3 = mysql_fetch_assoc($c_type3)); $rows = mysql_num_rows($c_type3); if($rows > 0) { mysql_data_seek($c_type3, 0); $row_c_type3 = mysql_fetch_assoc($c_type3); } ?> </select> <script> jQuery(document).ready(function(){ $('#class3<?php echo $i?>').cascade('#class1<?php echo $i?>', { ajax: { type: "GET", url: 'action.php', data: { act: 'distribution', val: $('#class3<?php echo $i?>').val() } }, template: function(item) { return "<option value='" + item.Value + "'>" + item.Text + "</option>"; }, match: function(selectedValue) { return this.When == selectedValue; } }); }); </script></td></tr></table> 這個部份比較複雜,有些欄位我就省下不寫.這個表單的欄位id是配合迴圈變數$i有所不 同,當報表只有一份,報表編號欄位為report_type1,當報表有兩份.則為report_type1跟 report_type2而jquery跟欄位檢查也都是依據欄位id去作實現. 只是目前每份報表的欄位都沒辦法紀錄資料 那使用者就不能隨時新增報表,而要在一開始就確定 報表數量.這樣有點不太人性化.不知道要怎麼改善.請幫忙指點一下要從哪邊改善呢 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.218.94
1F:→ TonyQ:demo連不上 :p 10/11 12:35
2F:→ chrismaggie:t大您好.可是是學校主機問題.現在是可以連上的. 10/12 11:57
3F:→ chrismaggie:請您幫我看一下.謝謝 10/12 11:58
4F:→ chrismaggie:感謝T大鼎力相助.真是高手.望塵莫及阿..ORZ. 10/12 16:33
5F:→ TonyQ:以這個問題來講 , 存下所有的資料塞到hidden input 10/12 18:21
6F:→ TonyQ:submit後重新填回來是比較一般的解. 10/12 18:21
7F:→ chrismaggie:推T大.之前我是想從這方面著手.用表單變數塞回來用 10/12 18:30
8F:→ chrismaggie:但還是要JS輔助.還是卡在JS...不過T大的解不用reload 10/12 18:32
9F:→ chrismaggie:利用JS就解決了..強 10/12 18:32
※ 編輯: chrismaggie 來自: 220.132.218.94 (10/12 23:21)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP