在InfoPath表单的验证上忽略数字字段中的NaN

时间:2014-03-31 17:05:23

标签: sharepoint infopath

我有一个采购订单表格,我需要自动计算任何输入的值(总计,税收等)。问题是,InfoPath表单中的某些字段具有默认值作为此目的的计算。很好......但是当一条线为空白时会出现问题(表格中有12行,但并非所有行都可以在一个PO中使用)。如果一行是空白,那么计算的字段当然会显示“NaN”。例如,将“数量”和“价格”字段相乘以生成总数,然后将总数乘以税率以获得净总额。为了便于理解,我在下面附上了一个截图: Screenshot of form

在第1行时这很好,因为第1行肯定会被填写,但不会被其他人填写。请参阅第6行作为导致此问题的演示。我没有尝试过默认设置' 0'在静态字段中,但除非我输入一个整数(然后混淆用户),否则它们都不起作用。表单验证坚持数字在数字字段中(而不是' NaN'),那么有什么方法可以忽略表单验证,或者找到另一种解决方法来解决这个问题?

作为参考,输入的计算作为默认值如下: 数量:0 每件商品价格:0 税前价格:Line6Quantity * Line6Price 增值税:(Line6Total - Line6SubTotal)/ Line6Total 总行数:Line6SubTotal *(1 + Line6VAT)

如您所见,VAT / Line Total字段设计为可互换,因此人们可以填写/或。该表单正在从SharePoint填写。

希望这一切都有意义;非常感谢。

1 个答案:

答案 0 :(得分:0)

通过在提交表单之前检查调用的函数中的值,可以轻松解决此问题。因此,在提交表单中添加onClick =“checkForNaN()”函数。

当您浏览输入框以检查它们是否评估为NaN时,isNaN()函数应该派上用场。如果是这样,只需将它们更改为表单验证代码可接受的内容即可。