zoukankan      html  css  js  c++  java
  • [Infopath]使用jquery给infopath表单的的field赋值。 how to set value to Infopath field by Jquery

    客户有个需求,需要在infopath表单中嵌入一段我们自己的东西,计算后要更新infopath某一个field.

    1. 怎么去获取到那个field

    由于infopath生产的html非常的复杂,嵌套太多,其次id都很凌乱,并且在编辑和查看的时候id不同,但是每个field在html中有个属性叫‘originalid’,这个id是相对固定的。所以可以用这个属性来获取相应的控件。

    比如:$("input[originalid='v1_I1_T9']")  //这就获取到了该input

    2. 怎么给它赋值,并且在保存表单的时候,顺利把值存进来。

    infopath中,如果你只是简单的用jquery给一个input赋值,然后保存,该值是不会保存的。我们得模拟类似于有人去实际填写该值,然后保存。原因后面解释。

    $("input[originalid='V1_I1_T10']").val(totalPrice); //赋值
    $("input[originalid='V1_I1_T10']").focus(); //类似于鼠标焦点放到该文本框了
    $("input[originalid='V1_I1_T10']").blur(); //鼠标焦点离开
    
    //这样就是一个完整的填写值得过程。
    

     原因就是在infopath中,真正的field value是存在一个配置文件当中的,当前台的html的input或者其他控件的值在改变后,并且鼠标移开后,会触发一个把值写入到配置文件的过程,因此如果用jquery赋值的话,需要模拟一下。

  • 相关阅读:
    求数组中的最小子数组,时间复杂度o(n),java
    第四周进度条
    四则混合运算3
    软件工程作业3
    《构建之法》第三周阅读笔记
    第三周学习进度
    学习进度01
    构建之法阅读笔记01
    构建之法问题
    随机生成题目运算
  • 原文地址:https://www.cnblogs.com/cwyang/p/5409169.html
Copyright © 2011-2022 走看看