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-ID: 172377

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

Ausgedruckt am: 05.11.2024 um 15:11 Uhr

redder
redder 31.08.2011 um 17:30:23 Uhr
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
Arano
Arano 31.08.2011 um 19:18:51 Uhr
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
helmuthelmut2000
helmuthelmut2000 31.08.2011 um 22:06:38 Uhr
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?
helmuthelmut2000
helmuthelmut2000 31.08.2011 um 22:48:32 Uhr
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?
EvilMoe
EvilMoe 01.09.2011 um 00:25:45 Uhr
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">';  
helmuthelmut2000
helmuthelmut2000 01.09.2011 um 10:20:18 Uhr
Goto Top
Hallo,

Danke.

So funktionierts Super.