Wertübergabe mit"onclick"

matze1983

Erfahrenes Mitglied
Hi,

ich wollte mit der onclick Funktion mir in einem Link einen Wert "name" für die id des Links geben lassen, nur bekomme ich es nicht realisiert, ist das überhaupt möglich, so dass der Link beim anclicken dann die jeweilige id zugewiesen bekommt?

MfG
Mathias
 
Hi,

ich bin mir nicht sicher, was du genau erreichen möchtest.

Falls einfach dem Angeklickten Link eine ID zugewiesen werden soll, reicht folgendes im onlick-Event.
Code:
onclick="this.id='name';"

Soll hingegen der jeweils geklickte Link diese ID erhalten, wird es aufwendiger. Du könntest im onclick-Event der Links eine Funktion aufrufen, dort mittels getElementById den Link ermitteln, der bisher die ID besitzt und sie ihm entziehen. Anschliessend wird dem aufrufenden Link die ID zugewiesen.

Ciao
Quaese
 
Moin,

kleiner Nachtrag: ich hab deine Frage ins JS-Forum verschoben, da die Formatierungssprache CSS für dein Vorhaben technisch überhaupt nicht ausgelegt ist.

mfg Maik
 
@Quaese,
deine letztere Variante ist das was ich versuche umzusetzen. Hättest du nen Codeschnipsel parat zur Visualisierung, damit ich mal sehe wie man das umsetzen kann.

MfG
Mathias
 
Dazu braucht es eigentlich keine Codeschnippsel, da es wirklich nur ein paar Zeilen sind. :)

So zum Beispiel:
Code:
function clicked( e ) {
	var id = 'foo';
	var current;

	if ( current = document.getElementById( id ) ) {
		current.id = '';
	}

	e.id = id;
}

Im onclick-Attribut des Links steht dann nur noch "clicked( this )", das ist alles.

Ich denke das Snippet ist selbsterklärend, oder?
 
Ein paar Fragen hätte ich dann doch noch:(
Also ich versuche dies für mehrere Links zu realisieren, müsste ch die Zeilen, dann für jeden Link neu gestelten, da ich ja dann mehrere id's hätte(id1, id2,etc...)

wie würde es denn bei "document.getElementById( id )" aussehen?
Code:
<SCRIPT LANGUAGE="JavaScript">

function clicked( e ) {
	var id1 = 'aktuell';
	var id2='bilder';
      var current;

	if ( current = document.getElementById( id ) ) {
		current.id = '';
	}

	e.id = id;
}
</SCRIPT>
<body>
<a href="aktuell.php" onclick="clicked( this )" id=" ">Aktuelles</a>
<a href="aktuell.php" onclick="clicked( this )" id=" ">Bilder</a>
</body>
Und müsste dann bei id="$id1" bzw. id="$id2" stehen?

Gruß
Mathias
 
Hi,

du könntest in den onclick-Events der Links jeweils die IDs mit übergeben, die zugewiesen werden soll.
Code:
function clicked(e, id) {
	var current;

	if ( current = document.getElementById( id ) ) {
		current.id = '';
	}

	e.id = id;
}

Code:
<a href="aktuell.php" onclick="clicked( this ,'aktuell')" id=" ">Aktuelles</a>
<a href="aktuell.php" onclick="clicked( this, 'bilder')" id=" ">Bilder</a>
<a href="aktuell.php" onclick="clicked( this, 'aktuell')" id=" ">Sonstiges</a>
<a href="aktuell.php" onclick="clicked( this, 'bilder')" id=" ">usw.</a>

Ciao
Quaese
 

Neue Beiträge

Zurück