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灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP