以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  移动端表中数据计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147057)

--  作者:刘林
--  发布时间:2020/3/8 20:55:00
--  移动端表中数据计算
If e.PostValues.ContainsKey("btn2")
        wb.AddPageTitle("","pageheader","期初人数填报","分班级填报人数")
        wb.AddForm("","form1","jwcqcrssbsavers.htm")
        Dim cmd1 As 
        cmd1.C">        cmd1.CommandText = "Sel* FROM {开校表册} where 学校名称 =\'" & e.Cookies("userdw") & "\'And 学期= \'" &  e.PostValues("学期") & "\' order by 班级全称"        
        Dim dt1 As DataTable = cmd1.ExecuteReader(True)
        wb.Inserthtml("form1","<Table border=1 cellspacing=0 style=\'width:100%;text-align:center;\'><tr><td style=\'text-align:center;font-size: 15pt;strong\'>班级全称</td><td style=\'text-align:center;font-size: 15pt\'>男生</td><td style=\'text-align:center;font-size: 15pt\'>女生</td><td style=\'text-align:center;font-size: 15pt\'>人数</td></tr>")
        For Each dr As DataRow In dt1.DataRows
            wb.Inserthtml("form1","<tr style=\'height:20px;\'><td style=\'width:40%;font-size:18px\' >" & dr("班级全称") & "</td><td style=\'width:20%\'><input style=\'width:95%;font-size: 18px; border:none;text-align:center;margin:2px;\' type=\'number\'  name=\'txt1_" & dr("_Identify") &  "\'"  & iif(dr("_locked")=True,"readonly","") & " min =\'0\' value=\'" & iif(dr("男生")>0,dr("男生"),"") & "\' /></td><td style=\'width:20%\'><input style=\'width:95%;font-size:18px;border:none;text-align:center;margin:2px;\' type= \'number\'  name=\'txt2_" & dr("_Identify") & "\' "  & iif(dr("_locked")=True,"readonly","") & " min =\'0\' value=\'" & iif(dr("女生")>0,dr("女生"),"") & "\' /></td><td name=\'txt3_" & dr("_Identify") & "\' style=\'width:20%;font-size:18px;\' >" & iif(dr("人数")>0,dr("人数"),"") & "</td></tr>")
        Next
        With wb.AddButtonGroup("form1","btg1",False)
            Dim btn3=.Add("btn3", "确定人数", "submit")
            btn3.value="btn3"
            btn3.kind=1
        End With
    End If


老师,请问老师,我想在txt1中输入数据和txt2中输入数据,让text3的数据为前两者的和,请问这个js怎么写,研究了下例子还是写不对,请老师帮写一下,谢谢


--  作者:有点蓝
--  发布时间:2020/3/8 21:32:00
--  
参考:http://www.foxtable.com/mobilehelp/topics/0016.htm
--  作者:有点蓝
--  发布时间:2020/3/8 21:33:00
--  
控件id尽量固定,不要使用变量设置。否则js很难取得需要的控件进行处理
--  作者:刘林
--  发布时间:2020/3/8 21:58:00
--  
老师,因为涉及到有可能有几十行,又不方便一个一个的去填,想到这相用_identify来取Id名称,

function calc(){
    je.value = dj.value * sl.value * (1 - zk.value);
}


这个我想请教如何取出当前的ID值?如在ID为txt1_234的输入框时,就取得其ID,再分出234来组合出txt3_234.value = text1_234.value+text2_234.value 
[此贴子已经被作者于2020/3/8 21:59:06编辑过]

--  作者:刘林
--  发布时间:2020/3/8 23:02:00
--  
  wb.InsertHTML("<script language=\'javascript\'>function loadmusic(o){ var s = o.id;var num= s.replace(/[^0-9]/ig,\'\');var rs = \'txt3_\' + num; alert(rs.value);}</script>")
老师,我看了下取出能组织合成id,但如何取这个rs的ID的值呢

--  作者:有点蓝
--  发布时间:2020/3/8 23:05:00
--  
绑定js函数的时候传入id,如
sb.appendLine("单价: <input Type=\'number\' name=\'txt1_234\' id=\'txt1_234\' >"

js
function calc(id){
 var xuhao = id.split("
_")[1];
 document.getElementById("txt3_" + xuhao).value = document.getElementById(id).value  + document.getElementById("txt2_" + xuhao).value 
}

--  作者:刘林
--  发布时间:2020/3/9 7:57:00
--  
  If e.PostValues.ContainsKey("btn2")
       wb.AddPageTitle("","pageheader","期初人数填报","分班级填报人数")
    wb.AddForm("","form1","jwcqcrssbsavers.htm")
  
    cmd1.CommandText = "Sel* FROM {开校表册} where 学校名称 =\'" & e.Cookies("userdw") & "\'And 学期= \'" &  e.PostValues("学期") & "\' order by 班级全称"
    Dim dt1 As DataTable = cmd1.ExecuteReader(True)
    wb.Inserthtml("form1","<Table border=1 cellspacing=0 style=\'width:100%;text-align:center;\'><tr><td style=\'text-align:center;font-size: 15pt;strong\'>班级全称</td><td style=\'text-align:center;font-size: 15pt\'>男生</td><td style=\'text-align:center;font-size: 15pt\'>女生</td><td style=\'text-align:center;font-size: 15pt\'>人数</td></tr>")
    For Each dr As DataRow In dt1.DataRows
    wb.Inserthtml("form1","<tr style=\'height:20px;\'><td style=\'width:40%;font-size:18px\' >" & dr("班级全称") & "</td><td style=\'width:20%\'><input style=\'width:95%;font-size: 18px; border:none;text-align:center;margin:2px;\'     type=\'number\' id=\'txt1_" & dr("_Identify") &  "\' name=\'txt1_" & dr("_Identify") &  "\'"  & iif(dr("_locked")=True,"readonly","") & " min =\'0\' value=\'" & iif(dr("男生")>0,dr("男生"),"") & "\' /></td><td style=\'width:20%\'><input style=\'width:95%;font-size:18px;border:none;text-align:center;margin:2px;\' type= \'number\' id=\'txt2_" & dr("_Identify") & "\'  name=\'txt2_" & dr("_Identify") & "\' "  & iif(dr("_locked")=True,"readonly","") & " min =\'0\' value=\'" & iif(dr("女生")>0,dr("女生"),"") & "\' /></td><td id=\'txt3_" & dr("_Identify") & "\'type= \'number\'  id=\'txt3_" & dr("_Identify") & "\'  name=\'txt3_" & dr("_Identify") & "\' style=\'width:20%;font-size:18px;\' >" & iif(dr("人数")>0,dr("人数"),"") & "</td></tr>")
    Next
    With wb.AddButtonGroup("form1","btg1",False)
    Dim btn3=.Add("btn3", "确定人数", "submit")
    btn3.value="btn3"
    btn3.kind=1
    End With
    End If    
   wb.InsertHTML("<script language=\'javascript\'>function calc(id){var xuhao = id.split(\'_\')[1]; alert(document.getElementById(\'txt1_\' + xuhao).value + document.getElementById(\'txt2_\'+ xuhao).value); }</script>")   

  End If

请问老师,上面取出来是字符串合并结果呢,而不是数据和呢


--  作者:有点蓝
--  发布时间:2020/3/9 9:55:00
--  
https://www.baidu.com/baidu?word=js+字符串转换数字
--  作者:刘林
--  发布时间:2020/3/9 11:30:00
--  
老师,我知道可转,我的问题是type=\'namber\'  为何不能加
--  作者:刘林
--  发布时间:2020/3/9 11:40:00
--  
 If e.PostValues.ContainsKey("btn2")
       wb.AddPageTitle("","pageheader","期初人数填报","分班级填报人数")
    wb.AddForm("","form1","jwcqcrssbsavers.htm")
    Dim cmd1 As ne
    cmd1.C">    cmd1.CommandText = "Sel* FROM {开校表册} where 学校名称 =\'" & e.Cookies("userdw") & "\'And 学期= \'" &  e.PostValues("学期") & "\' order by 班级全称"
    Dim dt1 As DataTable = cmd1.ExecuteReader(True)
    wb.Inserthtml("form1","<Table border=1 cellspacing=0 style=\'width:100%;text-align:center;\'><tr><td style=\'text-align:center;font-size: 15pt;strong\'>班级全称</td><td style=\'text-align:center;font-size: 15pt\'>男生</td><td style=\'text-align:center;font-size: 15pt\'>女生</td><td style=\'text-align:center;font-size: 15pt\'>人数</td></tr>")
    For Each dr As DataRow In dt1.DataRows
    wb.Inserthtml("form1","<tr style=\'height:20px;\'><td style=\'width:40%;font-size:18px\' >" & dr("班级全称") & "</td><td style=\'width:20%\'><input style=\'width:95%;font-size: 18px; border:none;text-align:center;margin:2px;\'     type=\'number\' id=\'txt1_" & dr("_Identify") &  "\' name=\'txt1_" & dr("_Identify") &  "\'"  & iif(dr("_locked")=True,"readonly","") & " min =\'0\' value=\'" & dr("男生") & "\' /></td><td style=\'width:20%\'><input style=\'width:95%;font-size:18px;border:none;text-align:center;margin:2px;\' type= \'number\' id=\'txt2_" & dr("_Identify") & "\'  name=\'txt2_" & dr("_Identify") & "\' "  & iif(dr("_locked")=True,"readonly","") & " min =\'0\' value=\'" & dr("女生") & "\' /></td><td type= \'number\'  id=\'txt3_" & dr("_Identify") & "\'  name=\'txt3_" & dr("_Identify") & "\' style=\'width:20%;font-size:18px;\' >" & dr("人数") & "</td></tr>")
    Next

找到问题了,

    With wb.AddButtonGroup("form1","btg1",False)
    Dim btn3=.Add("btn3", "确定人数", "submit")
    btn3.value="btn3"
    btn3.kind=1
    End With
    End If    
   wb.InsertHTML("<script language=\'javascript\'>function calc(id){var xuhao = id.split(\'_\')[1]; document.getElementById(\'txt3_\' + xuhao).value = parseInt(document.getElementById(\'txt1_\' + xuhao).value) + parseInt(document.getElementById(\'txt2_\'+ xuhao).value); }</script>")   
  End If
老师,请问用alert可以显示出两个数的和,将他附给txt3_,txt3不变呢
[此贴子已经被作者于2020/3/9 11:45:57编辑过]