我是这个社区的新手,在过去的48hs搜索和尝试中,我一直在寻找答案。
我在Infopath Designer 2013中创建了一个表单。我还使用SPD 2013,我试图完成的工作是使几个字段绑定到使用SPServices使用SPServices来创建数据向量的JQuery Autocomplete。
我让这个工作起作用,但它只能工作一次。我在SharePoint中创建了一个页面,并包含了Infopath WebPart,这也是一个内容编辑器Web部分,其中包含:
<script type="text/javascript" src="../jquery-ui-1.11.4.custom/external/jquery/jquery.js"></script>
<script type="text/javascript" src="../jquery-ui-1.11.4.custom/jquery-ui.min.js"></script>
<script type="text/javascript" src="../Scripts/jquery.SPServices.js"></script>
<script type="text/javascript" src="../Scripts/OpenCaseFormAutocomplete.js"></script>
我的文件脚本opencaseformautocomplete:
Sys.Application.add_load(function() {
$(document).ready(readyCall);
function readyCall(){
var externalParties1 = [];
var externalParties2 = [];
$().SPServices({
operation: "GetListItems",
listName: "Autocomplete_Customer",
CAMLViewFields: "",
async: false,
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
externalParties1.push($(this).attr("ows_Title"));
});
}
});
$().SPServices({
operation: "GetListItems",
listName: "Autocomplete_End-User",
CAMLViewFields: "",
async: false,
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
externalParties2.push($(this).attr("ows_Title"));
});
}
});
$("input[id$='FormControl0_V1_I1_T3']").autocomplete({
source: externalParties1,
minLength: 3
});
$("input[id$='FormControl0_V1_I1_T4']").autocomplete({
source: externalParties2,
minLength: 3
});
}
});
/*
我在某个地方读到,寄回存在问题。但是我似乎第一次没有让这个代码工作。第二个表单运行回发调用的第二个将从输入中清除附件的自动完成。
是否有修复程序,我应该放置代码以避免丢失绑定或重新固定代码替代方案?
,因为无论您做或不做任何事情,表单都会在后台自动自动重新加载,因此您需要再次调用您的功能。因此,在函数中代码的末尾,请使用SetteMeut()方法在500毫米后调用。
另外,您应该在拥有sys.application.add_load的地方执行此操作:
Sys.Application.add_load(function() {
ExecuteOrDelayUntilScriptLoaded(YourFunctionName, "sp.js");
});