控制inpath(infopath Forms Services)的另存为 是否覆盖现有文件为不可选中

 

遇到用户的一个需求,

用户表单很多的信息是重复的,所以用户在用infopath录入一个新表单的时候,喜欢打开已经存在的表单来修改其中一部分数据,然后另存为一个新的记录。
点另存为的时候有个选项 是否覆盖现有文件? 总是默认选中的。用户需要取消它,从而防止自己输入的文件名重复了。
所以这个选项 默认 为未选中比较合理。

重网络上搜了一下:

http://www.infopathdev.com/forums/t/9158.aspx
http://forums.microsoft.com/china/ShowPost.aspx?PostID=3258696&SiteID=15&pageid=0

有和我有着同样疑问的人,但是都没有得到想要的答案。
于是自己动手想了个偏方。
打开

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\INC
文件夹下的 Core.js 文件.这个文件是用来支持 infopath的诸多功能的。
我们找到文件中的 这句

objDialog.innerHTML = Dialog.RenderDialogTemplate(Dialog.arrDialogTemplate, Dialog.arrDialogData);
并将之修改成:
var wxcHtml = Dialog.RenderDialogTemplate(Dialog.arrDialogTemplate, Dialog.arrDialogData);
if( wxcHtml.indexOf("dialog_saveas_overwrite") > -1)
{
wxcHtml = wxcHtml.replace("checked","unchecked");
}
objDialog.innerHTML = wxcHtml;
然后保存,在运行里面输入 IISRESET。
重新看一下效果。那个讨厌的对勾已经不在那个checkbox里面了。

你可能感兴趣的:(service)