以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XQuery/XLink/XPointer/ 』  (http://bbs.xml.org.cn/list.asp?boardid=14)
----  如何实现三个数据之间的比较  (http://bbs.xml.org.cn/dispbbs.asp?boardid=14&rootid=&id=21633)


--  作者:kaizi
--  发布时间:8/30/2005 11:13:00 AM

--  如何实现三个数据之间的比较
打印机                   1
  其中: 激光打印机   2
          喷墨打印机   3
我想让第1行的值大于等于第2行加第3行,即1>=2+3
在脚本中怎么实现?(第一行的标识是:field14,第二行的是:field15,第三行的是:field16)
请写出!(用vb写)谢谢~~~急用~~
开始的情况:

function msoxd_my_field14::nBeforeChange(eventObj)
{
 // 在此处编写代码
 // 警告: 请确保实施 约束符合为此 XML 节点设置 默认值。
}


--  作者:kaizi
--  发布时间:9/9/2005 2:19:00 PM

--  
大家看过后给点意见亚~~谢了~~~用jscript也行呀~~~急急急~~
--  作者:kaizi
--  发布时间:9/12/2005 2:10:00 PM

--  
哦,我可能没有表述清楚,我是写一个审核公式:
如果1<2+3即:field14<field15+field16,怎么报错,请问这个审核公式怎么写??
谢了~~
--  作者:kaizi
--  发布时间:9/13/2005 2:20:00 PM

--  
是这样的~
那个本来是office家族中的infopath(做表单的)里要写得一个审核公式,在脚本下写,要涉及到xml但是我不会写~~
这里有我的一个朋友给我写得一个jscript东东,但是总是提示“无效句柄”,但他说在他那里是好使的~~
不知道怎么回事~~请看:
/*
* 此文件包含数据验证和表单级别事件的函数。
* 由于在表单定义文件(.xsf)中引用了这些函数,
* 因此建议不要修改函数名称。
* 以及参数的名称和数目。
*
*/

// 下列行由 Microsoft Office InfoPath 创建,以便为主 XML 数据文件中的
// 所有已知命名空间定义前缀。
// 所有在 InfoPath 外部对表单文件所做的修改都
// 不会自动更新。
//<namespacesDefinition>
XDocument.DOM.setProperty("SelectionNamespaces", 'xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2004-03-24T12:38:24" xmlns:xhtml="http://www.w3.org/1999/xhtml"');
//</namespacesDefinition>


//=======
// 下列函数处理程序由 Microsoft Office InfoPath 创建。
// 不要修改函数名称以及参数的名称和数目。
// 此函数与下列域或组(XPath)相关: /my:myFields/my:field8
// 注意: 创建函数处理程序后不会更新此备注中的信息。
//=======
function msoxd_my_field8::OnAfterChange(eventObj)
{
// 在此处编写代码以还原全局状态。

// 发生了域更改,并且 DOM 可写。请在此处编写代码来响应更改。
}


//=======
// 下列函数处理程序由 Microsoft Office InfoPath 创建。
// 不要修改函数名称以及参数的名称和数目。
// 此函数与下列域或组(XPath)相关: /my:myFields/my:field27
// 注意: 创建函数处理程序后不会更新此备注中的信息。
//=======
function XDocument::OnLoad(eventObj)
{
 // 在此处编写代码
 //XDocument.UI.alert("test");
 alertMsg(getNodeValue(findObj("field27")));
}

//=======
// 下列函数处理程序由 Microsoft Office InfoPath 创建。
// 不要修改函数名称以及参数的名称和数目。
// 此函数与下列域或组(XPath)相关: /my:myFields/my:field27
// 注意: 创建函数处理程序后不会更新此备注中的信息。
//=======
function msoxd_my_field27::OnValidate(eventObj)
{
 // 在此处编写代码
}

//=======
// 下列函数处理程序由 Microsoft Office InfoPath 创建。
// 不要修改函数名称以及参数的名称和数目。
// 此函数与下列域或组(XPath)相关: /my:myFields/my:field24
// 注意: 创建函数处理程序后不会更新此备注中的信息。
//=======
function msoxd_my_field24::OnValidate(eventObj)
{
 // 在此处编写代码
}

//=======
// 下列函数处理程序由 Microsoft Office InfoPath 创建。
// 不要修改函数名称以及参数的名称和数目。
// 此函数与下列域或组(XPath)相关: /my:myFields/my:field3
// 注意: 创建函数处理程序后不会更新此备注中的信息。
//=======
function msoxd_my_field3::OnValidate(eventObj)
{
 // 在此处编写代码
 
}

function findObj(name) {
 for(var  i =0; i < XDocument.DOM.documentElement.childNodes.length;i++) {
  var node = XDocument.DOM.documentElement.childNodes(i);
  if (node.nodeType != 1) continue;
  
  if (node.nodeName == "my:" + name) {
   return node;
  }
 }
 return null;
}

function getNodeValue(node) {
 if (node) {
  if (node.childNodes && node.childNodes.length >0)
  {
   return node.childNodes(0).xml;
  }
 }
 return  null;
}

}

function alertMsg(msg){
 XDocument.UI.Alert(msg);
}  


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms