以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  js变量传值问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123652)

--  作者:fubblyc
--  发布时间:2018/8/20 14:27:00
--  js变量传值问题
蓝老师,js变量传值
function f1usku1() {
    alert(document.getElementById("f1usku1").value);
 //   var txm = "1124"; 
 //    var val= \'{"dl":"F","qw":"1","bq":"UP","txm":txm}\'; //用这种txm="1124"传过来不生效
    var val= \'{"dl":"F","qw":"1","bq":"UP","txm":"1124"}\';  //现在只有这样直接写txm的值才能生效,其他的变量传过来的不行
    var result = sendAjaxJSON(val,"jssj.htm","",false);
    alert(result);
}

--  作者:有点蓝
--  发布时间:2018/8/20 14:34:00
--  
var val= \'{"dl":"F","qw":"1","bq":"UP","txm":"\' + txm + \'"}\'; 

一把不使用拼字符串的方式,用对象

var o  = {}
o.dl = "F"
o.qw= "1"
o.txmtxm
var result = sendAjaxJSON(o,"jssj.htm","",false);

--  作者:fubblyc
--  发布时间:2018/8/20 14:53:00
--  
蓝老师,这样改可以了。
对了,js里面写中文,会变成乱码,要怎么处理呢。。。

--  作者:有点蓝
--  发布时间:2018/8/20 14:57:00
--  
编码问题。使用utf-8。

另外不要使用记事本编辑js

--  作者:fubblyc
--  发布时间:2018/8/20 15:49:00
--  
好的,谢谢蓝老师~~
--  作者:fubblyc
--  发布时间:2018/8/21 9:14:00
--  
蓝老师,

这个在SKU1输入内容,安卓手机没问题(会提示增加成功,在数据库表会体现增加了一行数据),苹果手机点 扫一扫 没有反应(没有提示 ,也没有增加数据)。。。

js:
function f1usku1() {
    var obj=new Object();
    obj.rq = document.getElementById("rq").value;
    obj.md = document.getElementById("md").value;
    obj.dl = document.getElementById("dl").value;
    obj.qw = document.getElementById("qw").value;
    obj.bq = "UP";
    obj.txm = document.getElementById("f1usku1").value;
    var result = sendAjaxJSON(obj,"jssj.htm","",false);
    alert(result);
}

tjsj.htm(提交数据)
        With .AddVcodeButton("f1uscan1","扫一扫",2)
            .Attribute=";" \'增加获取验证码按钮,2表示显示在右边
        End With  

jssj.htm(接收数据)
Dim e As  RequestEventArgs = args(0)
\'output.show("1")
Dim dr As DataRow = DataTables("板墙陈列数据").SQLAddNew()
\'output.show("2")
Dim jo As JObject = JObject.Parse(e.PlainText) \'解析JSON数据
\'output.show("3")
dr("门店名称") = jo("md")
dr("调整日期") = jo("rq")
dr("大类") = jo("dl")
dr("区位") = jo("qw")
dr("板墙") = jo("bq")
dr("条码") = jo("txm")
\'output.show("4")
dr.save()
e.WriteString("增加成功!")
\'output.show("5")


js文件之前是用txt写的,现在有另存为utf-8的格式

[此贴子已经被作者于2018/8/21 9:15:43编辑过]

--  作者:有点蓝
--  发布时间:2018/8/21 9:23:00
--  
没有手机测试。试试
1、把输入框的id改改,不要和函数名称一致
<input id=\'f1usku1\' name=\'f1usku1\' type=\'text\' placeholder=\'点右边扫吊牌条码\' class=\'weui_input\'/>
</div>
<div class=\'weui_cell_ft\'>
<a href=\'javascript:;\' class=\'weui-vcode-btn\' name=\'f1uscan1\' id=\'f1uscan1\' onclick=\'f1usku1()\';>扫一扫</a>


2、下面提示能不能弹出
js:
function f1usku1() {
alert(\'1\');
    var obj=new Object();
    obj.rq = document.getElementById("rq").value;
    obj.md = document.getElementById("md").value;
    obj.dl = document.getElementById("dl").value;
    obj.qw = document.getElementById("qw").value;
    obj.bq = "UP";
    obj.txm = document.getElementById("f1usku1").value;
alert(obj);
    var result = sendAjaxJSON(obj,"jssj.htm","",false);
    alert(result);
}

[此贴子已经被作者于2018/8/21 9:23:56编辑过]

--  作者:fubblyc
--  发布时间:2018/8/21 11:17:00
--  
蓝老师,用第一种方法可以了。蓝老师,苹果的提示,有带网站,因为是用js的alert。
要想用FT提供的提示的
js:
function hf1usku1() {
    var obj=new Object();
    obj.rq = document.getElementById("rq").value;
    obj.md = document.getElementById("md").value;
    obj.dl = document.getElementById("dl").value;
    obj.qw = document.getElementById("qw").value;
    obj.bq = "UP";
    obj.txm = document.getElementById("f1usku1").value;
    var result = sendAjaxJSON(obj,"jssj.htm","",false);
    alert(result);
}

tjsj.htm(提交数据)
        With .AddVcodeButton("f1uscan1","扫一扫",2)
            .Attribute="onclic k=\'hf1usku1()\';"
        End With  

jssj.htm(接收数据)
Dim e As  RequestEventArgs = args(0)
\'output.show("1")
Dim dr As DataRow = DataTables("板墙陈列数据").SQLAddNew()
\'output.show("2")
Dim jo As JObject = JObject.Parse(e.PlainText) \'解析JSON数据
\'output.show("3")
dr("门店名称") = jo("md")
dr("调整日期") = jo("rq")
dr("大类") = jo("dl")
dr("区位") = jo("qw")
dr("板墙") = jo("bq")
dr("条码") = jo("txm")
\'output.show("4")
dr.save()
e.WriteString("增加成功!")
\'output.show("5")


此主题相关图片如下:微信图片_20180821093641.jpg
按此在新窗口浏览图片

[此贴子已经被作者于2018/8/21 11:17:28编辑过]

--  作者:fubblyc
--  发布时间:2018/8/21 11:41:00
--  
百度查了,用了重新alert,去掉了网址了:
    window.alert = function(name){
        var iframe = document.createElement("IFRAME");
        iframe.style.display="none";
        iframe.setAttribute("src", \'data:text/plain,\');
        document.documentElement.appendChild(iframe);
        window.frames[0].window.alert(name);
        iframe.parentNode.removeChild(iframe);
    }

那想实现FT的提示方式,有办法吗?

--  作者:有点蓝
--  发布时间:2018/8/21 11:59:00
--  
FT的提示方式?这个?