笔者使用InfoPath以来,觉得InfoPath相对于传统表单有两个很大的优点:第一,运用InfoPath设计表单,操作更简单,用户体验也更好。第二,InfoPath支持表单代码编写。
表单是面向用户的,因此,良好的用户体验是表单设计成功与否的关键之一。InfoPath表单中对控件属性的设置很详细,运用一般的属性功能设置就能达到良好的效果,而如果你知道一些控件外观设置的简单代码,在设计表单的时候就更能做到随心所欲了。本篇主要介绍如何通过JS代码来设置获取焦点的控件的外观,希望对你有所帮助。下面详细为你讲述:
第一步,新建一张空白的表单,添加一个文本框,一个下拉列表框,一个日期选取器,再添加一个重复表(默认就行)。
第二步,添加OnContextChange事件处理代码。选择工具-编程-OnContextChange事件,在Microsoft Script Editor中,OnContextChange方法里面添加下列代码:
if (eventObj.Type != "ContextNode" || eventObj.IsUndoRedo)
return;
try
{
XDocument.SetNamedNodeProperty(oActiveContext, "active", "0");
}
catch(e){}
oActiveContext = eventObj.Context;
XDocument.SetNamedNodeProperty(oActiveContext, "active", "1");
在OnContextChange方法外面声明变量:
var oActiveContext = null;
存储代码然后关掉Microsoft Script Editor。
第三步,利用SetNamedNodeProperty和GetNamedNodeProperty方法跟踪哪个控件处于活动状态,以便通过条件格式来设置它获取焦点时的外观属性。依次选择控件-属性-显示-条件格式-添加表达式,在表达式内容里输入以下代码:
xdXDocument:GetNamedNodeProperty(my:field1, "active", "0") = "1"
其中my:field1是相应控件的域名。
然后设置外观,这里我们选择底纹为淡黄色。
最后,预览它,看一下效果。尽管只是一个很小的改变,但有时候你会用到它的。
本文由返现网www.fanxian123.cn运营团队原创,返现网与100多家网上商城合作,提供最高50%的现金返利,是你网购省钱必备网站。如有转载,注明出处。