2009-04-29 23 views
5

Özel bir form formu denetimi ekledim (listeye yeni liste formu ekledim) ve SaveButton'u standart bir giriş HTML düğmesi olarak değiştirdim. Bu gibi çalışırSharepoint List yeni bir kimlikle yeniden yönlendiriyor

onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirect={NewFormWizard2.aspx?id=}')}" 

verileri kaydeder ve NewFormWizard2.aspx id = sayfaya yönlendirir:? ve şöyle bir 'onclick' etkinlik ekledi.

Yeniden oluşturulan sayfaya iletilmek üzere oluşturulan öğenin kimliğini nasıl alabilirim? Form tamamlandığında

Böylece 23

cevap

0

saf javascript (JQuery) ve http://darrenjohnstone.net/ gelen SPAPI kodunu kullanarak bir yaklaşım bulundu.

liste iki alan, başlık ve BodyCopy

Ben thewn ettik Crea içerir Bir metin ve bir başlık, her iki metin alanları için soran bir formdan sonra gönder düğmesi aşağıdaki işlevi çağırır: (ServerAddress ve LIST_question kendi ayrıntıları için güncelleştirilmesi gerektiğini unutmayın).İşlev, daha sonra LISTS.ASMX içindeki SOAP hizmetini kullanarak ayrıntıları yükler ve yanıtı kullanarak yeni öğenin kimliğini alır ve sayfayı yönlendirir. Üste |

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; 
    } 
} 
0

Ben Kimlik aralarından Javascript ev sahipliği Sayfada var nerede emin değilim = NewFormWizard2.aspx? id şuraya yönlendirir. Sorgulayıcıda veya sayfadaki bir alanda görünüyor mu?

Öğeyi tanımlayan istek veya yanıtta hiçbir şey yoktur. Bazı web loadtesting yaparken bu sorunu yaşadım.

Webservices'ı kullanarak öğenizi oluştururken yalnızca size bir getiri xml vermenizi öneririm.

+0

'ın altında ek bir concat kullanıyorum. Bu, sayfada bir kimliği olmayan yeni bir liste öğesi içindir. Kimliği, geri gönderme sonrasında oluşturulacaktı, böylece yönlendirme URL'si, öğenin taahhüt edildikten sonra yeni öğenin kimliğiyle "doldurulması" gerekecekti. Burada çok mu soruyorum? Saygılarımızla – TheRealQuagmire

0

Bu yanıt "yeni form" sorununu çözmez, ancak varolan liste öğelerini içeren ekranların sözdizimi olan başkalarına yardımcı olabilir.

Bunu hızlı bir şekilde SharePoint (MOSS 2007) ortamımda test ettim.

Onclick = "JavaScript: {ddwrt: GenFireServerEvent (concat (__ 'işlemek; __ = {NewFormWizard2.aspx id = yönlendirme?'/DsQueryResponse/satır/Satır/@ İD))}"

concat sözdizimi , işlemciye tek tırnak içine alınmış değerleri birleştirmesini söyleyen bir XSLT komutudur. Bu cevabı burada bulduğum bilgilerden uyarladım. , SharePoint Designer olarak 1- Yeni bir sayfa oluşturmak "LastItem.aspx" örneğin diyoruz ve birlikte üzerinde bir dataview yerleştirin: Bu yararlı olacağını umut bir Özel Liste Formu http://wssdevelopment.blogspot.com/2007_04_01_archive.html

0

yılında

Yükleme Değerler Hedef liste öğesi için tek bir form görünümü. 2 Limitli bir kaydı sadece bir kayda alır, ID ile sıralamayı belirler ve azalan ve [geçerli kullanıcı] tarafından oluşturulan öğeyi göstermek için listeyi filtreler. 3-Artık herhangi bir sorgu dizesini bu sayfaya iletmeniz gerekmez. Standart bir HTML giriş düğmesiyle listenin NewForm.aspxindeki varsayılan "OK" düğmesini değiştirin ve bunu "onclick =" javascript: {ddwrt: GenFireServerEvent (concat ('__ commit; __ redirect = {LastItem.aspx}) tanımına ekleyin. ". seni listelemek için yeni bir öğe gönderdikten sonra oluşturulan öğenin bir düzenleme görünümüne yönlendirileceksiniz. Sen tasarrufu düğmesini tıkladıktan sonra başka bir sayfaya yönlendirmek için LastItem.aspx düğmesini kaydetmek için aynısını yapabilirsiniz.

2

jtherkel yakındı bu kullanarak JavaScript elde edebilirsiniz, ancak eksik yönlendirme url ucunda bir '}'.

İlgili konular