JavaScriptを使用して、Sharepointリストで「John」という名前の人を検索しようとしています。「リクエストが失敗しました」というエラーのアラートが表示されたため、クエリが失敗したようです。1つ以上のフィールドタイプが正しくインストールされていません。これらのフィールドを削除するには、リスト設定ページに移動します。未定義
これは、スクリプトがonQueryFailed()メソッドで終了することを示しています。CAMLに問題はなく、内部列名が使用されています。
.aspxからのコード:
<script type="text/javascript">
function MyJavascript() {
var siteUrl = '/sites/MySite/';
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('People');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name="\'Name\'"/>' +
'<Value Type=\'Text\'>John</Value></Eq></Where></Query></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
listItemInfo += '\nID: ' + oListItem.get_id() +
'\nName: ' + oListItem.get_item('Name') +
'\nAge: ' + oListItem.get_item('Age');
}
alert(listItemInfo.toString());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>
スクリプトをボタンに登録する.csからのコード:
SubmitButton.Attributes.Add("onclick", "MyJavascript(); return false;");
何か案は?