// 複数のフィールドを処理するので関数化(※関数は呼ばれる前に宣言するため最初に記述) function offReadOnly(fieldName){ // 列の表示名を指定してフィールドの取得 var field = ctx.get_web().get_siteUserInfoList().get_fields().getByInternalNameOrTitle(fieldName); // ReadOnly属性を false に変更 field.set_readOnlyField(false); // フィールドの変更を保存(予約) field.update(); // フィールドの変更をサーバーに反映(予約) ctx.load(field); } // ClientOMのコンテキストオブジェクトを取得 var ctx = SP.ClientContext.get_current(); // 編集可能にしたいフィールドの列表示名の指定(※配列化して格納) var fieldNames = ["名前", "勤務先の電子メール", "携帯電話", "説明", "画像", "部署", "役職", "SIP アドレス", "名", "姓", "勤務先の電話番号", "ユーザー名", "Web サイト", "得意分野", "オフィス"]; // 配列化した列表示名のすべてに対して上記の関数を呼び出す for(var i = 0; i < fieldNames.length; i++){ offReadOnly( fieldNames[i] );} // サーバに反映 ctx.executeQueryAsync( function(sender, args){ // 成功時 alert("OK"); }, function(sender, args){ // 失敗時 alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); } )