以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 网页控件的值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123803)
|
-- 作者:fubblyc
-- 发布时间:2018/8/23 12:13:00
-- 网页控件的值
老师,FT里的框架,怎么获取用户填写的未提交的值,如下标颜色的。用来做一个组合。 Dim usku0 As String With wb.AddInputGroup("form1","ipg1","基础信息") .AddSelect("md","门店名称", md & "|泉州-晋江万达大货店|泉州-开元盛世综合店|泉州-新城吾悦广场店|泉州-中骏世界城") With .AddInput("rq","调整日期","date") .Value = Date.Today End With With .AddSelect("dl","大类","请选择大类|服装|鞋子|焦点") End With With .AddSelect("qw","区位","请选择区位|1|2|3|4|5|6|7|8|9|10") End With End With
usku0 = document.getElementById("md").value + document.getElementById("rq").value + document.getElementById("dl").value + document.getElementById("qw").value
|
-- 作者:有点蓝
-- 发布时间:2018/8/23 13:37:00
--
后台是没有办法获取的,只能通过js取
|
-- 作者:fubblyc
-- 发布时间:2018/8/23 17:37:00
--
蓝老师,下框的扫一扫,随着上面不同门店的选择显示历史的数据。我用vars变量,但是不能用usku0 = document.getElementById("md").value + document.getElementById("rq").value + document.getElementById("dl").value + document.getElementById("qw").value 这样进行区分,你说用js取要怎么弄呢。。。
With .AddInputCell("f1uic1") .AddLabel("lbh","SKU1",0) With .AddInput("f1usku1","text",1) .Placeholder = "点右边扫吊牌条码" .value = vars("f1usku1") \'正常是要 vars(usku0 & "f1usku1") \'以做不一样的区分,但是现在usku0不能这样写。。。。 End With .AddVcodeButton("f1uscan1","扫一扫",2) End With
此主题相关图片如下:微信图片_20180823173142.png
|
-- 作者:有点蓝
-- 发布时间:2018/8/23 20:10:00
--
在扫一扫绑定的js事件里面获取网页的值,然后使用ajex方法(sendAjaxJSON、submitAjaxFileds)提交到后天,获取返回值再给需要的地方赋值
|
-- 作者:fubblyc
-- 发布时间:2018/8/27 14:02:00
--
老师,我做了,就差一步:例子是单一行不同列,我这边是不同行(就是同一个门店有不同的SKU) 此主题相关图片如下:微信截图_20180827140137.png
此主题相关图片如下:201882317305726735.png
js: function xz(){ var result= submitAjaxFileds(\'getsku.htm\',\'\',\'md\',\'rq\',false); alert(result); // if(result){ // var vals=result.split("|"); // if(vals.length==2){ // document.getElementById("f1usku1").value=vals[1]; // } // } }
getsku.htm:
Dim e As RequestEventArgs = args(0)
Dim drs As List(of DataRow) = DataTables("板墙陈列数据").SQLSelect("门店名称=\'" & e.Values("md") & "\' and 调整日期=\'" & e.values("rq") & "\'") If drs.Count > 0 Then For Each dr As DataRow In drs e.WriteString(dr("sku") & "|" & dr("条码")) Next End If
[此贴子已经被作者于2018/8/27 14:02:32编辑过]
|
-- 作者:有点甜
-- 发布时间:2018/8/27 14:33:00
--
1、返回数据
Dim e As RequestEventArgs = args(0) Dim drs As List(of DataRow) = DataTables("板墙陈列数据").SQLSelect("门店名称=\'" & e.Values("md") & "\' and 调整日期=\'" & e.values("rq") & "\'") If drs.Count > 0 Then Dim str As String = "" For Each dr As DataRow In drs str &= dr("sku") & "|" & dr("条码") & "@" Next e.WriteString(str.trim("@")) End If
2、分割数据分别赋值,如
var vals=result.split("@");
alert(vals.length);
for (var i=0; i<vals.length; i++) {
alert(vals[i]);
}
|
-- 作者:fubblyc
-- 发布时间:2018/8/27 14:34:00
--
获取到符合条件的多行后,要分别把不同的SKU的条码赋值到这个页面的不同的SKU的框中。例子是不同sku是不同的列,所以用document.getElementById("f1usku1").value=vals[1]; 我是同一列,列名字就叫SKU,只是这一列有SKU1 SKU2 SKU3。 要将 For Each dr As DataRow In drs e.WriteString(dr("sku") & "|" & dr("条码")) Next 的不同的sku的条码赋值到这个页面的不同的SKU的框中。。
|
-- 作者:有点甜
-- 发布时间:2018/8/27 14:37:00
--
认认真真看6楼代码。
|
-- 作者:fubblyc
-- 发布时间:2018/8/27 15:21:00
--
恩恩,甜老师,刚才没刷新网页,看到了。
function xz(){ var result= submitAjaxFileds(\'getsku.htm\',\'\',\'md\',\'rq\',false); var vals=result.split("@"); for (var i=0; i<vals.length; i++) { alert(vals[i]); →→→→f1usku1|111 和 f1usku2|222 var vals2 = vals[i].split("|") 然后我要再把f1usku1|111 再分割,变成document.getElementById("f1usku1").value = 111 和 document.getElementById("f1usku2").value = 222 这样 是不是要再循环一次呢。。。 } }
|
-- 作者:fubblyc
-- 发布时间:2018/8/27 15:35:00
--
甜老师,搞定了,是我自己弄复杂了
var vals2 = vals[i].split("|"); document.getElementById(vals2[0]).value = vals2[1]
这样就可以了
|