Javascript in Sharepoint

kk236

Mitglied
Hallo,

ich hoffe mir kann hier jemand helfen stehe ziemlich unter Stress grade.

Ich versuche gerade im Sharepoint Server 2007 einen Button einzubauen, der Daten aus der einen Liste in eine andere kopiert (befinden sich beide auf der gleichen Seite).

Ich habe bereits das Form-Webpart angelegt und einen Button erstellt. Dann kann ich ja auf bearbeiten gehen und das Quelltextfenster öffnen.

Das steht schon von Haus aus drin:

Java:
<div onkeydown="javascript:if (event.keyCode == 13) _SFSUBMIT_">
				<input name="RefreshButton" type="button" value="Refresh"></div>

Wäre super wenn mir jemand sagen kann was ich hier reinkopieren muss um den Inhalt der einen Liste in eine zweite zu bekommen.

Danke schonmal im Voraus.

Gruß
chris
 
mhnn... haben deine listen ids? Ich geh mal davon aus dass du von html select listen sprichst..

klappt das?

list1 = document.getElementById('list1');
list2 = document.getElementById('list2');
for (var i = 0; i < list1.length; i++) {
var QuellOption = list1.options;
list2.options[list2.length] = new Option(QuellOption.text, QuellOption.value);
}
 
Ich werd es gleich mal probieren.

Aber eins weiß ich nicht, wie bin ich das ein, dass er das auf meinen Button-Click macht?
Also ich drück meinen Refresh-Button und dann soll er die Listen kopieren.

Aber gute Frage ob Sharepointlisten solche Listen sind aber das werd ich ja gleich herausfinden.

Reicht es nicht wenn ich sage:

list1 = document.getElementById('list1');
list2 = document.getElementById('list2');

list2 = list1;

Das ist ja quasi alles was ich will, die 2. Liste zu einer Kopie der 1. Liste machen.

Vielen Dank schonmal.
 
Zuletzt bearbeitet:
Ok ich schreib jetzt hier mal her wie ich das 1 zu 1 in meinen Sharepoint Quelltexteditor übertragen werde und du kannst mir dann ja nochmal sagen ob du das so gemeint hast oder nicht.

Code:
<div onkeydown="javascript:if (event.keyCode == 13) _SFSUBMIT_">

<input name="RefreshButton" type="button" value="Refresh"></div>
<script type="text/javascript"> 

list1 = document.getElementById('Bewertung');
list2 = document.getElementById('Bewertung2');

for (var i = 0; i < list1.length; i++) {
var QuellOption = list1.options[i];
list2.options[list2.length] = new Option(QuellOption.text, QuellOption.value);
} 

</script>

D.h. wenn ich jetzt ausführe zeigt die 2. Liste die gleichen Werte wie die 1. Liste an...

Das funktioniert aber jetzt noch nicht über den Refresh-Button oder?.
 
fehlt da nicht irgendwo noch der Button der eingebunden wird?

Ich hab den Quelltext jetzt mal wie in meinem letzten Post eingefügt aber in der 2. Liste tut sich nix.
 
keine ahnung, hab noch nie mit Sharepoint gearbeitet...

aber für mich siehts falsch aus 😉

du musst natürlich deinem button einen event handler setzen der die funktion aufruft und du musst meinen code in eine funktion packen. Aber das sind JavaScript Grundlagen ... da kannst du dich selber einlesen...
 
Zuletzt bearbeitet:
hmm soweit bin ich jetzt funktioniert aber nicht...
irgendwo beim button is der fehler...

Code:
<script type="text/javascript"> 

function copyList()
{
     list1 = document.getElementById('Bewertung');
     list2 = document.getElementById('Bewertung2');

     for (var i = 0; i < list1.length; i++) 
    {
       var QuellOption = list1.options[i];
       list2.options[list2.length] = new Option(QuellOption.text,  QuellOption.value);
    }
 
     alert("Aktualisierung abgeschlossen!");

}

</script>

<div onkeydown="javascript:if (event.keyCode == 13) _SFSUBMIT_">

<input name="RefreshButton" type="button" value="Refresh" onClick=copyList()></div>
<div onkeydown="javascript:if (event.keyCode == 13) _SFSUBMIT_">
 
doch müsste klappen, wobei ich das sauberer finde:
<input name="RefreshButton" type="button" value="Refresh" onClick="javascript:copyList()">

mhn gibt das alert mal in die erste zeile deiner copyList methode...


bei mir klappt das

Java:
<html>
<head>
<script type="text/javascript"> 

function copyList(){
     alert("test");
}
</script>
</head>
<body >
<input name="RefreshButton" type="button" value="Refresh" onClick="javascript:copyList()"></div>
</body>
</html>

Wenns nicht geht:

image-138735-galleryV9-knsf.jpg

:lol:
 
super cooles bild :lol:

ok problem ist der hängt in der for-schleife anscheinend in einer Endlosschleife fest...

denn wenn ich den alert oben hin kopiere dann funktioniert das ding...

wie kann ich denn zumindest mal ein objekt der liste ausgeben? damit ich zumindest mal sehe ob er objekte aus der liste gespeichert hat in der variablen...

denn da müsste ja jetzt die komplette bewertungsliste meiner lieferanten drin sein...
 
Zuletzt bearbeitet:
ok problem ist der hängt in der for-schleife anscheinend in einer Endlosschleife fest...

hast du ne idee wo das problem ist?
klar du fügst sicher in die liste ein von der du ließt...

das klappt!

Java:
<html>
<head>
<script type="text/javascript"> 

function copyList(){
     alert("test");
     list1 = document.getElementById('Bewertung');
     list2 = document.getElementById('Bewertung2');

     for (var i = 0; i < list1.length; i++) 
    {
       var QuellOption = list1.options[i];
       list2.options[list2.length] = new Option(QuellOption.text,  QuellOption.value);
    }
 
     alert("Aktualisierung abgeschlossen!");

}
</script>
</head>
<body >
<input name="RefreshButton" type="button" value="Refresh" onClick="javascript:copyList()"></div>

liste 1:

<select id="Bewertung" size="3">
	<option value="1">eins</option>
	<option value="2">zwei</option>
	<option value="3">drei</option>
	<option value="4">vier</option>
</select>
liste 2:
<select id="Bewertung2" size="3">
</select>
</body>
</html>
 

Neue Themen


Zurück
Oben