昨天项目需要将参数传递到回调函数,具体实现如下:
<script language="ecmascript" type="text/ecmascript">
var fieldCollection;
var field;
var list;
function getFieldType() {
var clientContext = SP.ClientContext.get_current();
if (clientContext != undefined && clientContext != null) {
var webSite = clientContext.get_web();
this.list = webSite.get_lists().getByTitle("PeopleList");
this.fieldCollection = list.get_fields();
this.field = fieldCollection.getByTitle("Title");
clientContext.load(this.field);
var myCallBack = Function.createCallback(OnLoadSuccess, this.field);
clientContext.executeQueryAsync(Function.createDelegate(this, myCallBack),
Function.createDelegate(this, this.OnLoadFailed));
alert('In main function... ' + field.get_title());
}
}
function OnLoadSuccess(sender, args, field1) {
alert('In callback success... ' + field1.get_title());
}
function OnLoadFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' +
args.get_stackTrace());
}
</script>
var fieldCollection;
var field;
var list;
function getFieldType() {
var clientContext = SP.ClientContext.get_current();
if (clientContext != undefined && clientContext != null) {
var webSite = clientContext.get_web();
this.list = webSite.get_lists().getByTitle("PeopleList");
this.fieldCollection = list.get_fields();
this.field = fieldCollection.getByTitle("Title");
clientContext.load(this.field);
var myCallBack = Function.createCallback(OnLoadSuccess, this.field);
clientContext.executeQueryAsync(Function.createDelegate(this, myCallBack),
Function.createDelegate(this, this.OnLoadFailed));
alert('In main function... ' + field.get_title());
}
}
function OnLoadSuccess(sender, args, field1) {
alert('In callback success... ' + field1.get_title());
}
function OnLoadFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' +
args.get_stackTrace());
}
</script>
浙公网安备 33010602011771号