Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo,

habe fogenden Code:


<HTML>

<HEAD>

<TITLE>Test Custom Dialog</TITLE>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8">

<SCRIPT language="javascript">

/*The function init() is called when the dialog is loaded.*/

function init()

{

	MyApp	= window.dialogArguments[0];

	Tabelle	= top.MyApp.CustomSetting.TabelleDubletten; //ein Array

	//Tabelle ist ein Array mit allen gefundenen doppelten Datensätzen

	//Tabelle[0] = nrid

	//Tabelle[1] = societe

	//Tabelle[2] = adresse

	//Tabelle[3] = var76

	//Tabelle[4] = var77

	//Tabelle[5] = pays


alert("in WDS Anzahl Sätze: " + Tabelle.length);


	//Tabelle anlegen

	TabelleString = "<Table border='1'>";


	for(var i = 0; i < Tabelle.length; i++)

	{

		Satz = Tabelle[i].split("---");


		TabelleString+= '<tr><td><input type="button" id="+ Satz[0] +" name="+ Satz[0] +" value="+ Satz[0] +" onclick="buttonClick()"/></td>';

		TabelleString+= '<td>'+ Satz[1] +'</td>';

		TabelleString+= '<td>'+ Satz[2] +'</td>';	

		TabelleString+= '<td>'+ Satz[3] +'</td>';

		TabelleString+= '<td>'+ Satz[4] +'</td>';	

		TabelleString+= '<td>'+ Satz[5] +'</td>';

		TabelleString+= '</tr>';

	}	


	TabelleString+= "</Table>";	

alert(TabelleString);		

	//document.getElementByID("meinDiv").innerHTML = TabelleString;


}

function buttonClick(this)

{

	alert("Button geklickt: " + this.value);

}

</SCRIPT>

</HEAD>


<BODY  scroll="no" onload="init()">

<div id="meinDiv" name="meinDiv"/>

</BODY>

</HTML>

und bekomme folgende Fehlermeldung:

Bezeichner erwartet:

--> <BODY scroll="no" onload="init()">

Welchen Bezeichner?

Gruß Alex

Bearbeitet von alexC++
Geschrieben

Hallo alex,

das Problem liegt am parameter der funktion buttonClick().

this verweist ja imemr auf das aktuelle objekt, allerdings musst du das als argument im funktionsAUFRUF übergeben. wie der parameter innerhalb der funktion deklariert wird ist egal. im klartext

function buttonClick(obj)

{ alert(obj.value);

}
und in der init funktion muss der aufruf wie folgt aussehen:
...

TabelleString+= '<tr><td><input type="button" id="+ Satz[0] +" name="+ Satz[0] +" value="+ Satz[0] +" onclick="buttonClick([B]this[/B])"/></td>';

...
ausserdem musst du die ersten beiden zeilen der init funktion überarbeiten, weil die objekte dort unbekannt sind.
MyApp	= window.dialogArguments[0];

Tabelle	= top.MyApp.CustomSetting.TabelleDubletten; //ein Array
Das window objekt hat "von natur aus" keine eigenschaft dialogArguments und woher das objekt top kommt ergibt sich m.E. aus dem quellcode auch nicht... die solltest du (mit allen "unterobjekten" irgendwo deklarieren) grundsätzlich kannst du das objekt für die buttonClick funktion auch aus dem event herleiten. dadurch könntest du (falls du das brauchst) auch gleich eine unterscheidnug nach browsern vornehmen. also als parameter im aufruf übergibst du "event" und kannst entsprechend mit dem event das auslösende objekt bestimmen: aufruf:

getEventSrcElement(event);


function getEventSrcElement(e)

{   var obj, id;

    if (window.event) // das kennt der ie und ff net

        id = window.event.srcElement.id; // sofern id vorhanden 

    else

        id = e.currentTarget.id; // das kennt ff    

    return document.getElementById(id);

}[/code]

so ich hoffe das bringt dich erstmal weiter.. bis die tage ;)

Geschrieben

danke hat mir weiter geholfen.

es war der parameter.

die beiden ersten zeilen stimmen schon. das sind spezielle dinge, die nur bei dieser anwendung funktionieren.

gruß

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...