Hallo zusammen,
ich habe ein größeres Problem welches ich bisher nicht so ganz nachvollziehen kann. Und zwar ist mir bei javascript bekannt das es die Meldung: Erlaubnis verweigert gibt wenn man Crossscripting betreibt aber in meinem Fall bleibe ich ja auf der gleichen Domain rufe nur eine andere Datei über den opener auf.
Ich beschreibe mal was ich erreichen möchte und wozu das ganze dienen soll:
1. Ich habe ein Kalkulationsblatt indem ich via Klick eine neue Artikelposition hinzufügen kann.
2. Ich habe ein Button über den ein Fenster geöffnet wird in welchem ich den Artikelstamm eingrenzen kann.
3. Ich kann im Artikelstamm auf einen Button klicken und den Artikel direkt in eine Position (je nachdem wo ich vorher im Kalkulationsblatt geklickt habe) auf das Kalkulationsblattübernehmen.
4. Ich klicke auf einen Button im Artikelstamm um den Artikel als NEUE Position in den Artikelstamm zu übernehmen, dazu lade ich das form im opener neu und füge eine Position an, dann gebe ich eine interne ID in ein Suchfeld der neuen Position ein und lade den opener nochmals neu um den Artikel dort nun anzuzeigen, jetzt aber das Problem: Manchmal gehts und manchmal nicht! Soll heißen manchmal kommt bei 1 oder 2 Versuch der Fehler manchmal auch erstmal garnicht und erst beim Hinzufügen der 32. Position...
Als Debuggingergebnis wird mir diese Zeile:
while (!window.opener.document.getElementById(feld1) && k<50)
oder diese dann angezeigt:
while (!window.opener.document.getElementById('Datengeladen') && k<50)
Hier mal ein teil des Codes, ich hoffe es kann mir jemand einen Tipp geben:
Grüße euch!
ich habe ein größeres Problem welches ich bisher nicht so ganz nachvollziehen kann. Und zwar ist mir bei javascript bekannt das es die Meldung: Erlaubnis verweigert gibt wenn man Crossscripting betreibt aber in meinem Fall bleibe ich ja auf der gleichen Domain rufe nur eine andere Datei über den opener auf.
Ich beschreibe mal was ich erreichen möchte und wozu das ganze dienen soll:
1. Ich habe ein Kalkulationsblatt indem ich via Klick eine neue Artikelposition hinzufügen kann.
2. Ich habe ein Button über den ein Fenster geöffnet wird in welchem ich den Artikelstamm eingrenzen kann.
3. Ich kann im Artikelstamm auf einen Button klicken und den Artikel direkt in eine Position (je nachdem wo ich vorher im Kalkulationsblatt geklickt habe) auf das Kalkulationsblattübernehmen.
4. Ich klicke auf einen Button im Artikelstamm um den Artikel als NEUE Position in den Artikelstamm zu übernehmen, dazu lade ich das form im opener neu und füge eine Position an, dann gebe ich eine interne ID in ein Suchfeld der neuen Position ein und lade den opener nochmals neu um den Artikel dort nun anzuzeigen, jetzt aber das Problem: Manchmal gehts und manchmal nicht! Soll heißen manchmal kommt bei 1 oder 2 Versuch der Fehler manchmal auch erstmal garnicht und erst beim Hinzufügen der 32. Position...
Als Debuggingergebnis wird mir diese Zeile:
while (!window.opener.document.getElementById(feld1) && k<50)
oder diese dann angezeigt:
while (!window.opener.document.getElementById('Datengeladen') && k<50)
Hier mal ein teil des Codes, ich hoffe es kann mir jemand einen Tipp geben:
PHP-Code:
function Artikeluebernehmen(zaehler, form_, ID, Modus)
{
var feld1 = 'Artikelnummer_intern' + zaehler;
var k = 1;
if (form_ == 1)
{
//Hier Buttons deaktivieren - Geht bisher nicht - daher Loaderwindow
//Loaderwindow öffnen
Fenster = window.open("ladeanimation.asp", "Ladeanimation", "width=400,height=400, left=350, top=200");
if (Modus == 1)
{
//1. Es muss dem Formular im opener eine Position hinzugefügt werden
//2. Die interne Artikelnummer in der neuen Position muss gefüllt werden
//3. Das opener.Formular muss die interne Artikelnummer suchen
//4. Die Position muss mit den Artikeldaten gefüllt werden
zaehler = (opener.document.form1.positionscounteraktuellerstand.value*1)+1;
feld1 = 'Artikelnummer_intern' + zaehler;
opener.document.form1.submit();
while (!window.opener.document.getElementById(feld1) && k<50)
{
//alert('Formular lädt noch');
wait(100);
k++;
}
}
opener.document.getElementById(feld1).value = ID;
opener.document.form1.artikelsucheID_Klick.value = zaehler;
opener.document.form1.artikelsuche.value = "Artikelsuche";
opener.document.form1.submit();
//Das Objekt muss erst angelegt sein
while (!window.opener.document.getElementById('Datengeladen') && k<50)
{
//alert('Formular lädt noch - Datengeladen nicht vorhanden!');
wait(100);
k++;
}
//Hier Buttons wieder erlauben
//Loaderwindow schließen
Fenster.close();
}
[...]
Kommentar