は、純粋なJavaScriptの(jQueryの)とhttp://darrenjohnstone.net/からSPAPIコードを使用してのアプローチを発見した。
リストは、私はクレアをthewnてきた二つのフィールド、タイトルとBodyCopy
が含まれていますタイトルと質問、両方のテキストフィールドを要求するフォームを送信すると、送信ボタンは次の関数を呼び出します(ServerAddressとLIST_questionは独自の詳細に更新する必要があります)。
この関数は、LISTS.ASMX内のSOAPサービスを使用して詳細をアップロードし、レスポンスを使用して新しい項目のIDを取得し、ページをリダイレクトします。
var LIST_question = '{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}';
var ServerAddress = 'http://xxx/';
function submitQuestion()
{
var title = new String($("#title").val());
var t = new String($("#question").val());
t=t.trim();
if(t=="")
return;
title=title.trim();
if(title=="")
return;
var lists = new SPAPI_Lists(ServerAddress) ;
//
var newItem = { Title : title, BodyCopy : t};
var items = lists.quickAddListItem(LIST_question, newItem);
var id=-1;
if (items.status == 200)
{
var rows = items.responseXML.getElementsByTagName('z:row');
if(rows.length ==1)
{
var r = rows[0];
var id = r.getAttribute('ows_ID');
window.location.href='DispForm.aspx?ID='+id;
}
else
{
alert("Error: No row added");
}
}
else
{
alert('There was an error: ' + items.statusText);
return;
}
}
これは、ページ上にIDを持たない新しいリスト項目です。 ポストバック時にIDが作成されるため、リダイレクトのURLは、アイテムがコミットされた後に新しいアイテムのIDで「記入」する必要があります。私はここに多くを求めていますか? よろしく – TheRealQuagmire