以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  addselect从数据库读取数值放回么  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99477)

--  作者:zhangjian222200
--  发布时间:2017/4/20 8:15:00
--  addselect从数据库读取数值放回么
如题:

        Dim username As String = e.cookies("isj") \'从cookie取会员用户名(手机号)
        Dim drusername As DataRow = DataTables("会员资料").sqlFind("手机 = \'" & username & "\'")  \'根据会员的手机号,到"会员资料"表,找出会员所在的行
        Dim zuixnl As String = drusername("首页筛选_最小年龄")
        With wb.AddInputGroup("form1","ipg1","首页筛选设置")
            With .AddSelect("zxnl","最小年龄","|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|40|50|60")
                .value = zuixnl  ’测试发现不行,没有value属性,下面这样行么?
            End With
        End With


        Dim username As String = e.cookies("isj") \'从cookie取会员用户名(手机号)
        Dim drusername As DataRow = DataTables("会员资料").sqlFind("手机 = \'" & username & "\'")  \'根据会员的手机号,到"会员资料"表,找出会员所在的行
        Dim zuixnl As String = drusername("首页筛选_最小年龄")
        Dim txtzdnl As String = "\'" & zuixnl & "\'|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|40|50|60"
        wb.AddForm("","form1","index_shaix.htm").Attri-bute="on-submit=\'re-turn validit_indexshaix()\'"
        With wb.AddInputGroup("form1","ipg1","首页筛选设置")
            .AddSelect("zxnl","最小年龄","\'" & txtzdnl & "\'")
        End With
[此贴子已经被作者于2017/4/20 8:35:53编辑过]

--  作者:有点色
--  发布时间:2017/4/20 8:46:00
--  

httpRequest代码

 

Select Case e.Path
    Case "test.htm"
        Dim wb As New weui
        wb.AddForm("","form1","test.htm")
        With wb.AddInputGroup("form1","ipg1","列表项目")
            .AddSelect("os","操作系统","|iOS|Windows|Andriod")
            .AddSelect("bw","浏览器","|Chorme|[Edge]|Firefox|Internet Explorer")
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit")
        End With
        Dim str As String = "Windows"
        wb.AppendHTML("<script src=\'./lib/test.js\'></script>") \'引入脚本文件
        wb.AppendHTML("<script>display(""os"",""" & str & """)</script>") \'引入脚本文件

        e.WriteString(wb.Build) \'生成网页
End Select

 

test.js 代码

 

function display(selectID, optionValue){
   var all_options = document.getElementById(selectID).options;
   for (i=0; i<all_options.length; i++){
      if (all_options[i].innerHTML == optionValue)  // 根据option标签的ID来进行判断  测试的代码这里是两个等号
      {
         all_options[i].selected = true;
      }
   }
};


--  作者:zhangjian222200
--  发布时间:2017/4/20 8:53:00
--  
我发现这样改改字符串就ok了

        Dim username As String = e.cookies("isj") \'从cookie取会员用户名(手机号)
        Dim drusername As DataRow = DataTables("会员资料").sqlFind("手机 = \'" & username & "\'")  \'根据会员的手机号,到"会员资料"表,找出会员所在的行
        Dim zuixnl As String  \'定义最小年龄
        Dim zuidnl As String  \'定义最大年龄
        If drusername IsNot Nothing Then
            zuixnl = drusername("首页筛选_最小年龄")  \'从"会员资料"取最小年龄
            zuidnl = drusername("首页筛选_最大年龄")  \'从"会员资料"取最大年龄
        Else
            msgbox("您尚未登录!请登录后再查找!")
        End If

        Dim txtzdnl As String
        wb.AddForm("","form1","index_shaix.htm").Attribute=""

        With wb.AddInputGroup("form1","ipg1","首页筛选设置")
            .AddSelect("zxnl","最小年龄",zuixnl & "|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|40|50|60")
            .AddSelect("zdnl","最大年龄",zuidnl & "|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|40|50|60|99")
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1", "确定","submit")   \'.Attribute=""
            End With
        End With

--  作者:有点色
--  发布时间:2017/4/20 9:15:00
--  

 用2楼的方法吧,你这样不专业。

 

 这样做的效果是会有重复选项。


--  作者:zhangjian222200
--  发布时间:2017/5/2 21:09:00
--  
2楼代码放在一般的网页效果很专业,但是放在下面的页面,只能自动选出第一个,无法自动选出第二、三个,见图

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170502210054444.png
图片点击可在新窗口打开查看

这是生成界面,也在这里调用js:auto_display.js
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:per_quyu.txt
取值页面:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:p_quyu_get.txt

保存信息页面,因为达到文件上限,见楼下


js代码:
function validit_per_quyu(){
    alert("OK");
    var result=submitAjaxFileds("p_per_quyu.htm","","szs","szshi","szqx","jxs","jxshi","jxqx",false);
    if(result=="OK"){
        return true;
    }
    else{
        showTopTips("toptip1",result,2000);
        return false;
    }
}

auto_display.js:
function auto_display(selectID, optionValue){   //用于addselect
   //alert("OK");
   var all_options = document.getElementById(selectID).options;
   for (i=0; i<all_options.length; i++){
      if (all_options[i].innerHTML == optionValue)  // 根据option标签的ID来进行判断  测试的代码这里是两个等号
      {
         all_options[i].selected = true;
      }
   }
};  ’为什么其他js函数,不加分号,这里反而要加个分号?(在另外的页面内,程序正确执行)

--  作者:zhangjian222200
--  发布时间:2017/5/2 21:11:00
--  
保存信息页面,问题见楼上(因楼上达到文件上限,所以文件贴在这里
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:p_per_quyu.txt



--  作者:有点蓝
--  发布时间:2017/5/2 22:03:00
--  
要处理第二、第三个选项,要在选择第一个选项后,调用setAjaxOptions设置第二个选项的内容,然后在设置第二个选项选中的内容,同样调用setAjaxOptions设置第三个选项的内容,然后在设置第三个选项选中的内容。

因为使用js赋值的是不会触发onchange事件的

--  作者:有点蓝
--  发布时间:2017/5/2 22:11:00
--  
类似这种效果

auto_display.js:
function auto_display(selectID, optionValue,selectID2, optionValue2,selectID3, optionValue3){   //用于addselect
   //alert("OK");
   var all_options = document.getElementById(selectID).options;
   for (i=0; i<all_options.length; i++){
      if (all_options[i].innerHTML == optionValue)  // 根据option标签的ID来进行判断  测试的代码这里是两个等号
      {
         all_options[i].selected = true;
      }
   };
setAjaxOptions(\'szshi\',\'p_quyu_get.htm\',\'szs\',false);

var all_options2 = document.getElementById(selectID2).options;
   for (i=0; i<all_options2.length; i++){
      if (all_options2[i].innerHTML == optionValue2)  // 根据option标签的ID来进行判断  测试的代码这里是两个等号
      {
         all_options2[i].selected = true;
      }
   };

setAjaxOptions(\'szqx\',\'p_quyu_get.htm\',\'szs\',\'szshi\',false);

设置第三个选项
}; 

--  作者:zhangjian222200
--  发布时间:2017/5/3 9:22:00
--  
wb.AppendHTML("<script src=\'./lib/auto_display.js\'></script>") \'引入脚本文件
下面是原使用语句:(这样,都显示了第一个)
wb.AppendHTML("<script>auto_display(""szs"",""" & suozaisheng & """)</script>") \'引入脚本文件(所在省)
wb.AppendHTML("<script>auto_display(""szshi"",""" & suozaishi & """)</script>") \'引入脚本文件(所在市)
wb.AppendHTML("<script>auto_display(""szqx"",""" & suozaixian & """)</script>") \'引入脚本文件(所在县)
wb.AppendHTML("<script>auto_display(""jxs"",""" & jiaxiangsheng & """)</script>") \'引入脚本文件(家乡省)
wb.AppendHTML("<script>auto_display(""jxshi"",""" & jiangxiangshi & """)</script>") \'引入脚本文件(家乡市)
wb.AppendHTML("<script>auto_display(""jxqx"",""" & jiaxiangxian & """)</script>") \'引入脚本文件(家乡县)
改成这样使用,一个也没有显示
wb.AppendHTML("<script>auto_display(""szs,szshi,szqx"",""" & suozaisheng & "," & suozaishi & "," & suozaixian & """)</script>") \'引入脚本文件(所在省)
wb.AppendHTML("<script>auto_display(""jxs,jxshi,jxqx"",""" & jiaxiangsheng & "," & jiangxiangshi & "," & jiaxiangxian & """)</script>") \'引入脚本文件(家乡省)
[此贴子已经被作者于2017/5/3 9:32:43编辑过]

--  作者:有点色
--  发布时间:2017/5/3 9:36:00
--  

这样写

 

wb.AppendHTML("<script>auto_display(\'szs\', \'" & suozaisheng & "\', \'szshi\', \'" & suozaishi & "\', \'szqx\', \'" & suozaixian & "\'")</script>") \'引入脚本文件(所在省)

[此贴子已经被作者于2017/5/3 9:36:07编辑过]