Foxtable(狐表)用户栏目专家坐堂 → 移动开发中,有没有办法实现当表彰类别等于不同类别的时候 对应显示或隐藏部分内容?


  共有4020人关注过本帖树形打印复制链接

主题:移动开发中,有没有办法实现当表彰类别等于不同类别的时候 对应显示或隐藏部分内容?

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
移动开发中,有没有办法实现当表彰类别等于不同类别的时候 对应显示或隐藏部分内容?  发帖心情 Post By:2021/2/2 16:05:00 [显示全部帖子]

            移动开发中,有没有办法实现当表彰类别等于不同类别的时候 对应显示或隐藏部分内容?


            If e.PostValues("表彰类别")="个人表彰" Then
                .AddInput("姓名","姓名","text")
                .AddSelect("性别","性别","|男|女")
                .AddInput("所在部门","所在部门","text")
                .AddInput("所任职务","所任职务","text")
            Else  If e.PostValues("表彰类别")="集体表彰" Then
                .AddInput("部门名称","部门名称","text")
            End If

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)到onchange事件处理,比如:http://w...  发帖心情 Post By:2021/2/2 16:58:00 [显示全部帖子]

我当前在系统中创建了js表 有两个字段 一个是name一个是js代码

当前写入了name:test
              js代码:(这个部分的代码写法是否正确呢?)
Function xianshi(){
   var gj=document.getElementById("表彰类别").value;
If(gj=="个人表彰")
 {
 alert("提示信息!"); 
 document.getElementById("姓名").value = "";
 document.getElementById("性别").value = "";
document.getElementById("所在部门").value = "";
 document.getElementById("所任职务").value = "";
 document.getELementById("姓名").disabled=true;
 document.getELementById("性别").disabled=true;
document.getELementById("所在部门").disabled=true;
 document.getELementById("所任职务").disabled=true;}
Else
 {alert("集体表彰"); 
 document.getElementById("部门名称").value = 0;
 document.getELementById("部门名称").disabled=true;}
}



然后保存为变量
Vars(Tables("js").Current("name")) = Tables("js").Current("js代码")


页面代码为:(是否正确?)
 With wb.AddInputGroup("form1","ipg1","内容信息")
            .AddInput("单位名称","单位名称*","text").Placeholder =e.Cookies("单位名称")
            With .AddSelect("表彰类别","表彰类别*","|个人表彰|集体表彰" )
                .Attr ibute = "onch ange='xianshi()'"
            End With
            .AddInput("获奖名称","获奖名称","text")
            .AddInput("授奖单位名称","授奖单位","text")
            .AddInput("获奖时间","获奖时间","date")
            .AddInput("登记时间","登记时间","date")
        End With


那么在页面中如何进行引用呢?下面的语句如何变通实现引用对应的变量js代码呢?
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
[此贴子已经被作者于2021/2/2 17:02:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)js是大小写敏感的,不要在foxtable代...  发帖心情 Post By:2021/2/2 17:43:00 [显示全部帖子]

直接在记事本里面编辑的 且放置在项目\Attachments\web\lib下的
但是系统没有进行弹窗提示
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:ajaxform.zip


如果我要采用三楼的那表创建方式 
那么在页面中如何进行引用呢?下面的语句如何变通实现引用对应的变量js代码呢?
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
[此贴子已经被作者于2021/2/2 18:07:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
  发帖心情 Post By:2021/2/3 9:55:00 [显示全部帖子]

js名称test
function xianshi(){
   var gj=document.getElementById("表彰类别").value;
if(gj=="个人表彰")
 {
 alert("提示信息!"); 
 document.getElementById("姓名").value = "";
 document.getElementById("性别").value = "";
document.getElementById("所在部门").value = "";
 document.getElementById("所任职务").value = "";
 document.getELementById("姓名").disabled=true;
 document.getELementById("性别").disabled=true;
document.getELementById("所在部门").disabled=true;
 document.getELementById("所任职务").disabled=true;}
else
 {alert("集体表彰"); 
 document.getElementById("部门名称").value = 0;
 document.getELementById("部门名称").disabled=true;}
}



页面代码:
Dim wb As New weui
Dim vals As String
Dim cmd111 As New S QLCommand
cmd111.Conne cti '记得设置数据源名称
cmd111.Comm andText = "Sele ct * From {表彰}"
Dim dt As DataTable = cmd111.ExecuteReader
If Functions.Execute("yanzheng",e) = 1 '获取验证不能使用异步函数,必须等待并获取验证结果
    If e.PostValues.Count = 0 Then
        wb.AddPageTitle("","ph1","表彰登记")
        wb.AddForm("","form1","addbiaozhang.htm")
        wb.AddTopTips("","toptip1","请输入单位名称和支部名称!")
        With wb.AddInputGroup("form1","ipg1","内容信息")
            .AddInput("单位名称","单位名称*","text").Placeholder =e.Cookies("单位名称")
            .AddSelect("表彰类别","表彰类别*","|个人表彰|集体表彰" ).Attribute = "oncha nge='xianshi()'"
            .AddInput("获奖名称","获奖名称","text")
            .AddInput("授奖单位名称","授奖单位","text")
            .AddInput("获奖时间","获奖时间","date")
            .AddInput("登记时间","登记时间","date")
        End With
        With wb.AddButtonGroup("form1","btg1",False)
            .Add("btn1", "确定更新", "submit")
            .Add("btn2", "取消更新", "submit").FormAction = "default.htm"
        End With
        e.WriteString(wb.Build) '生成网页
    Else
        With wb.AddMsgPage("","msgpage","添加学习内容成功", "好好学习,天天向上") '生成成功提示页
            .AddButton("btn1","继续添加","addbiaozhang.htm")
            .AddButton("btn11","取消添加","default.htm")
        End With
        wb.AppendHTML("<script>" & vars("test") & "</script>")
        e.WriteString(wb.Build)
    End If
End If


output.Show("<script>" & vars("test") & "</script>")
输出结果为:
<script>function xianshi(){
   var gj=document.getElementById("表彰类别").value;
if(gj=="个人表彰")
 {
 alert("提示信息!"); 
 document.getElementById("姓名").value = "";
 document.getElementById("性别").value = "";
document.getElementById("所在部门").value = "";
 document.getElementById("所任职务").value = "";
 document.getELementById("姓名").disabled=true;
 document.getELementById("性别").disabled=true;
document.getELementById("所在部门").disabled=true;
 document.getELementById("所任职务").disabled=true;}
else
 {alert("集体表彰"); 
 document.getElementById("部门名称").value = 0;
 document.getELementById("部门名称").disabled=true;}
}</script>


上述页面运行时,选择个人表彰或集体表彰之后页面并未新增姓名 性别  所在部门  所任职务 或部门名称的显示

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


 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)按F12打开浏览器开发者工具自行调试j...  发帖心情 Post By:2021/2/3 12:07:00 [显示全部帖子]

调试可以弹出提示信息
但是没有对应对相应的页面标签进行显示或隐藏
当前js代码如下:

function xianshi(){
   var gj=document.getElementById("表彰类别").value;
if(gj=="个人表彰")
 {
 alert("提示信息!"); 
document.getElementById("部门名称").style.display="none";
 document.getElementById("姓名").style.display="inline";
 document.getElementById("性别").style.display="inline";
document.getElementById("所在部门").style.display="inline";
 document.getElementById("所任职务").style.display="inline";}
else
 {alert("集体表彰"); 
 document.getElementById("部门名称").style.display="inline";
document.getElementById("姓名").style.display="none";
 document.getElementById("性别").style.display="none";
document.getElementById("所在部门").style.display="none";
 document.getElementById("所任职务").style.display="none";}
}
[此贴子已经被作者于2021/2/3 13:01:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)不存在"部门名称"、"姓名"这些ID的控...  发帖心情 Post By:2021/2/3 14:13:00 [显示全部帖子]

老师  在测试下是有的(经反复测试  楼上js代码可以隐藏输入框控件,让用户不能对应输入内容,但是遇见性别(男或女)这个选择框的时候,姓名所占据的行高会被缩减,导致页面不美观)

以下内容是专门发给有点蓝浏览



图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看
js代码换成下面的也不行
function jsFunction(value) {
   console.log(value);
if(value=="个人表彰")
{
document.getElementById("部门名称").value="个人表彰不用填写";
document.getElementById("部门名称").style.display="hidden";
document.getElementById("姓名").style.display="visible";
document.getElementById("性别").style.display="visible";
document.getElementById("所在部门").style.display="visible";
document.getElementById("所任职务").style.display="visible";}
else
{
document.getElementById("部门名称").style.display="visible";
document.getElementById("部门名称").value="";
document.getElementById("姓名").value="集体表彰不用填写";
document.getElementById("性别").value="集体表彰不用填写";   性别是个选择框(男或女)   这个赋值不显示  有没有办法强制显示为  集体表彰不用填写 字样呢?
document.getElementById("所在部门").value="集体表彰不用填写";
document.getElementById("所任职务").value="集体表彰不用填写";
document.getElementById("姓名").style.display="hidden";    当被隐藏的时候,输入框还可以删减文字  有没有办法在隐藏式 实现none一样的效果  不让用户可操作输入字符
document.getElementById("性别").style.display="hidden";
document.getElementById("所在部门").style.display="hidden";
document.getElementById("所任职务").style.display="hidden";}
}
[此贴子已经被作者于2021/2/3 14:17:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)嗯,只是隐藏了输入框,没有隐藏标题...  发帖心情 Post By:2021/2/3 15:07:00 [显示全部帖子]

function xianshi(){
   var gj=document.getElementById("表彰类别").value;
if(gj=="个人表彰")
 {
 alert("提示信息!"); 
document.getElementById("ipg3").style.display="inline";
document.getElementById("ipg3").style.display="block";
 document.getElementById("ipg23").style.display="none";}
else
 {alert("集体表彰"); 
document.getElementById("ipg23").style.display="inline";
 document.getElementById("ipg3").style.display="none";
 document.getElementById("ipg23").style.display="block";}
}

图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看
是否可以把标题一起隐藏呢  不然显示在那不友好

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)document.getElementById("ipg3").pa...  发帖心情 Post By:2021/2/3 16:09:00 [显示全部帖子]

function xianshi(){
   var gj=document.getElementById("表彰类别").value;
if(gj=="个人表彰")
 {
//alert("提示信息!"); 
document.getElementById("ipg3").style.display="inline";
document.getElementById("ipg3").style.display="block";
document.getElementById("ipg23").parentNode.style.display="none";
 document.getElementById("ipg23").style.display="none";}
else
 {
//alert("集体表彰"); 
document.getElementById("ipg23").style.display="inline";
document.getElementById("ipg23").style.display="block";
document.getElementById("ipg3").parentNode.style.display="none";
 document.getElementById("ipg3").style.display="none";
 }


效果如下:只有打开页面第一次选择表彰类别值 才是正确显示或隐藏的  如果不小心选择了错误的  需要更换  那就没有对应显示正确了  这个问题有没有办法解决呢?还是说js目前已经只能做到这样了

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


 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)js里全部改为使用parentNode学会使用...  发帖心情 Post By:2021/2/3 17:05:00 [显示全部帖子]


ok  灰常感谢有点蓝老师的耐心指导和帮助   达到预期效果  谢谢!


function xianshi(){
   var gj=document.getElementById("表彰类别").value;
if(gj=="个人表彰")
 {
//alert("提示信息!"); 
document.getElementById("ipg3").parentNode.style.display="inline";
document.getElementById("ipg3").parentNode.style.display="block";
document.getElementById("ipg23").parentNode.style.display="none";
}
else
 {
//alert("集体表彰"); 
document.getElementById("ipg23").parentNode.style.display="inline";
document.getElementById("ipg23").parentNode.style.display="block";
document.getElementById("ipg3").parentNode.style.display="none";
 }
}

 回到顶部