preko
Erfahrenes Mitglied
Ich habe ein Script, bei dem, wenn ich eine bestimmte Alert-Anweisung nicht angebe, der Ablauf des Scripts nicht durchläuft. Sobald die Alert-Anweisung angegeben wird, läuft das Script durch und funktioniert. Ich bin absolut ratlos, da JavaScript bisher nicht meins war und ich mich versuche in diesen Bereich einzuarbeiten.
Dazu muss ich vielleicht noch erwähnen, dass ich mit dem Script auf eine Liste eines SharePoint-Servers zugreife.
Der Aufruf des Scripts erfolgt über einen Button:
Dargestellt wird das Script in einem DIV-Container:
Das Script sieht wie folgt aus:
Es geht speziell um die Alert-Anweisung in diesem Codeteil:
Wird der weggelassen, passiert "nichts". Ist die Alert-Anweisung hinterlegt, zeigt das Alertfenster die ItemId wie es sein soll und der Code läuft durch und zeigt auch zum Schluss alles an.
Ich verstehe nicht, warum die Alert-Anweisung notwendig ist. Ursprünglich war sie nur zur Entwicklung gedacht und sollte dann raus. Dabei fiel dann dieses unerklärliche Verhalten auf.
Hat jemand eine Idee, was hier passiert?
Beste Grüße!
Dazu muss ich vielleicht noch erwähnen, dass ich mit dem Script auf eine Liste eines SharePoint-Servers zugreife.
Der Aufruf des Scripts erfolgt über einen Button:
HTML:
<input id="okButton" type="button" class="round" value="Termin(e)" onclick="repeater()" />
Dargestellt wird das Script in einem DIV-Container:
HTML:
<div id="displayTermine"></div>
Das Script sieht wie folgt aus:
Code:
var itemId;
var targetListItem;
var counter = 1;
var iterator = 0;
var start = "<p><table id='listOutput' class='table table-hover table-responsive table-condensed table-bordered myTable'>" +
"<thead class='success'>" +
"<tr class='info text-center success'>" +
"<th class='th text-center'>Nr.</th>" +
"<th class='th text-center'>Eingangsdatum</th>" +
"<th class='th text-center'>Terminart</th>" +
"<th class='th text-center'>Titel</th>" +
"<th class='th text-center'>Beginn</th>" +
"<th class='th text-center'>Ende</th>" +
"<th class='th text-center'>Beschreibung</th>" +
"<th class='text-center' style='border-top: 0; border-right: 0;'>Aktion</th>" +
"</tr>" +
"</thead>" +
"<tbody>";
var end = "</tbody>" +
"</table></p><br /><br />";
var terminListe = [];
function runCode(itemId) {
alert(itemId);
var clientContext = new SP.ClientContext();
var targetList = clientContext.get_web().get_lists().getByTitle('Anfragen');
targetListItem = targetList.getItemById(itemId);
clientContext.load(targetListItem, 'ID', 'Terminart', 'Title', 'abcd', 'efgh', 'ijkl', 'Eingangsdatum');
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
terminListe.push("<tr>" +
"<td class='text-center'>" + targetListItem.get_item('ID') + "</td>" +
"<td class='text-left strong'>" + targetListItem.get_item('Terminart') + "</td>" +
"<td class='text-left'>" + targetListItem.get_item('Title') + "</td>" +
"<td class='text-center'>" + targetListItem.get_item('abcd').format('dd.M.yyyy - hh:mm') + " Uhr</td>" +
"<td class='text-center'>" + targetListItem.get_item('efgh').format('dd.M.yyyy - hh:mm') + " Uhr </td>" +
"<td class='text-left'>" + targetListItem.get_item('ijkl') + "</td>" +
"<td class='text-center'>" + targetListItem.get_item('Eingangsdatum').format('dd.M.yyyy') + "</td>" +
"<td class='text-center'><input id='okButton' type='button' class='btn btn-outline-success btn-ok round' value='✓' title='Termin annehmen' /><input id='noButton' type='button' class='btn btn-outline-success round' value='x' title='Termin ablehnen' /></td>" +
"</tr>");
}
function onQueryFailed(sender, args) {
//alert(counter + '\nAbfrage fehlgeschlagen. \n\nFehler: \n' + args.get_message() + '\n\nStapelverfolgung (StackTrace): \n' + args.get_stackTrace());
return;
}
function repeater() {
counter = 1;
do {
runCode(counter++);
} while (counter <= 3);
document.getElementById("displayTermine").innerHTML = start + terminListe + end;
}
Es geht speziell um die Alert-Anweisung in diesem Codeteil:
Code:
function runCode(itemId) {
alert(itemId);
Wird der weggelassen, passiert "nichts". Ist die Alert-Anweisung hinterlegt, zeigt das Alertfenster die ItemId wie es sein soll und der Code läuft durch und zeigt auch zum Schluss alles an.
Ich verstehe nicht, warum die Alert-Anweisung notwendig ist. Ursprünglich war sie nur zur Entwicklung gedacht und sollte dann raus. Dabei fiel dann dieses unerklärliche Verhalten auf.

Hat jemand eine Idee, was hier passiert?
Beste Grüße!