helmuthelmut2000
Goto Top

Was muss beim JavaScript im header stehen

Hallo,

Ich habe folgendes Problem.

Ich möchte wenn ich in einem php Formular auf eine Zeile klicke, einen link haben über
die ganze Zeile.
Das möchte ich mit javascript machen.
Da lautet doch der Befehl:

echo "<tr onclick='window.location.href = 'http://www.google.de' style='cursor: pointer'>";

Da kommt jetzt nur die Hand aber der link wird nicht gemacht.

Was genau muss denn da im Header stehen?

Danke.

Content-Key: 172377

Url: https://administrator.de/contentid/172377

Printed on: April 18, 2024 at 15:04 o'clock

Member: redder
redder Aug 31, 2011 at 15:30:23 (UTC)
Goto Top
Hallo helmuthelmut2000,
versuch mal folgendes:

Im Head Bereich:
<script type="text/javascript">
 function changeurl () {
  window.location.href = "http://www.google.de&#039";
 }
</script>

Und dann in der Tabelle:
<td onclick='changeurl()'; style='cursor: pointer'>

Gruß,
redder
Member: Arano
Arano Aug 31, 2011 at 17:18:51 (UTC)
Goto Top
Moin,

dein Fehler könnte an einer falschen Syntax liegen !
Denn für das "onclick"-Event und für das darin enthaltene "href=" verwendest du in beiden Fällen die einfachen Anführungszeichen.
An sich muss das nicht falsch sein, nur verschachtelt funktioniert das nicht so einfach.

Dem "onclick"-Event wird der nachfolgende Wert in den Anführungszeichen zugewiesen, also vom erstem ' bis zum zweitem ', daraus ergibt sich folgender Wert:
onclick='window.location.href = '  
Das alleine ist kein gültiges Javascript und kann so auch nicht funktionieren. Der Rest:
http://www.google.de' 
Wird als Eigenschaft des <tr>-Tags gewertet, die es aber auch nicht gibt.

Hier musst du die inneren Anführungszeichen maskieren !
echo "<tr onclick='window.location.href = \'http://www.google.de\' style='cursor: pointer'>";# oder z.B:echo '<tr onclick="window.location.href = \'http://www.google.de\' style="cursor: pointer">';# ACHTUNG: hier werden die inneren Anführungszeichen maskiert, damit PHP nicht durcheinander kommt# denn sonst würde das "echo" nach dem zweitem ' ein Semikolon (;) erwarten und eine Fehlermeldung werfen.


~Arano
Member: helmuthelmut2000
helmuthelmut2000 Aug 31, 2011 at 20:06:38 (UTC)
Goto Top
Hallo,

Also das geht beide mal nicht.

Beim
echo "<tr onclick='window.location.href = \'http://www.google.de\' style='cursor: pointer'>";
da kommt auf die Hand wenn ich über eine Zeile fahre.

Beim
echo '<tr onclick="window.location.href = \'http://www.google.de\' style="cursor: pointer">';
da passiert nichts.

Ich bin der Meinung da muss noch was im head stehen.
<script type="text/javascript">
...
...
...
</script>

Aber was?
Member: helmuthelmut2000
helmuthelmut2000 Aug 31, 2011 at 20:48:32 (UTC)
Goto Top
Hallo,

Das geht aber ich hätte gern den link in der Zeile

<tr ....>

Weil ich das www.google.de auch mal ändere und
mit php von der db was auslese.

kann man das auch in die Zeile mit dem onclick bringen?
Member: EvilMoe
EvilMoe Aug 31, 2011 at 22:25:45 (UTC)
Goto Top
Hallo,

mache es doch mal so:
echo '<tr onclick="document.location.href=\'http://www.google.de\'" style="cursor: pointer">';  


EDIT:
Im Head könntest du eine Funktion haben was elegenater aussehen würde z.B. so
Header:
<script type="text/javascript">  
function GoTo( url ) {
  document.location.href=url
}


</script>

Und dann im HTML:
echo '<tr onclick="GoTo(\'http://www.google.de\')" style="cursor: pointer">';  
Member: helmuthelmut2000
helmuthelmut2000 Sep 01, 2011 at 08:20:18 (UTC)
Goto Top
Hallo,

Danke.

So funktionierts Super.