url in function übergeben
Markus
- javascript
Hallo,
Ich habe ein großes Problem:
eine simple
function pOpen(url){
alert(url)
}
Die URL ist hier eine veriable, Z. B.
http://192.168.0.12/product_info.php?cPath=2031_2032_2033&products_id=130591
Diese variable wird flexibel aus einem php script generiert.
Das Problem sind die Sonderzeichen.
Eine Übergabe ist so nicht möglich.
der php Teil:
$tableBox_String .= '<td onclick="pOpen(' . $href2 . ')"';
Probleme trten auch bei Anführungszeichen und Hochkomma auf, da php dies anders interprediert als javascript.
Vielen Dank!!
hi,
der php Teil:
$tableBox_String .= '<td onclick="pOpen(' . $href2 . ')"';
... interessiert wenig bis gar nicht.
Wie sieht die erzeugte Ausgabe aus?
Probleme trten auch bei Anführungszeichen und Hochkomma auf,
Natürlich, wenn du sie nicht passend maskierst.
da php dies anders interprediert als javascript.
Nein, das ist nicht der Grund.
gruß,
wahsaga
Hi,
$tableBox_String .= '<td onclick="pOpen(' . $href2 . ')"';
... interessiert wenig bis gar nicht.
Ich finde, dieser Teil interessiert auch. Hier fehlen doch die Anführungszeichen, die später im HTML-Code stehen, völlig.
So müsste es sein:
$tableBox_String .= '<td onclick="pOpen('' . $href2 . '')"';
Probleme trten auch bei Anführungszeichen und Hochkomma auf,
Natürlich, wenn du sie nicht passend maskierst.
Das natürlich trotzdem.
Schöne Grüße
Axel
hi,
$tableBox_String .= '<td onclick="pOpen(' . $href2 . ')"';
... interessiert wenig bis gar nicht.
Ich finde, dieser Teil interessiert auch.
Erst mal nicht.
Hier fehlen doch die Anführungszeichen, die später im HTML-Code stehen, völlig.
Woher weißt du, dass die nachher im HTML-Code fehlen werden?
Das obige ist lediglich eine Wertzuweisung an eine Variable.
Wo er die nachher ausgibt, und ob dieses von Anführungszeichen, Tilden oder kleinen Kreuzen geschieht, wissen wir doch gar nicht.
Hätten wir stattdessen die Ausgabe gezeigt bekommen, hätten wir ziemlich sicher gleich sagen können, da fehlt dies und das, wenn es denn gültige Javascript-Syntax darstellen soll.
gruß,
wahsaga
hi,
Wo er die nachher ausgibt, und ob dieses von Anführungszeichen, Tilden oder kleinen Kreuzen
<ins> umgeben </ins>
geschieht, wissen wir doch gar nicht.
gruß,
wahsaga
Hy,
'<td onclick="pOpen('' . $href2 . '')"'
Das war die Lösung. Danke!!
das war die Lösung:
'<td onclick="pOpen('' . $href2 . '')"'
Vielen dank!!
Hallo,
Woher weißt du, dass die nachher im HTML-Code fehlen werden?
Das obige ist lediglich eine Wertzuweisung an eine Variable.Wo er die nachher ausgibt, und ob dieses von Anführungszeichen, Tilden oder kleinen Kreuzen geschieht, wissen wir doch gar nicht.
Hmm. stimmt! Ich hatte einfach stillschweigend angenommen, dass in der Variable ausschließlich die URL ohne Anführungszeichen steht.
Das ist zwar wahrscheinlich, aber sicher nicht sicher.
Hiermit ziehe ich meine Antwort zurück ;-)
Schöne Grüße
Axel
Hier die Ausgabe:
<td><table border="0" width="100%" cellspacing="0" cellpadding="2" class="productListing" id="plistings">
<tr class="out" target="unten" id="1" onclick="setStyle(this,id)" onmouseover={this.style.backgroundColor="#dfdf99"} onmouseout={this.style.backgroundColor="#f8f8f9"} >
<td onclick="pOpen(http://192.168.0.12/product_info.php?cPath=2031_2032_2033&products_id=130591)" align="left" class="productListing-heading" > <a href="http://192.168.0.12/index.php?cPath=2031_2032_2033&page=1&sort=1a" title="Sortierung der Artikel ist aufsteigend nach Hersteller" class="productListing-heading">Hersteller</a> </td>
<td> ... </td>
</tr>
Gruß Markus
Hi,
<td onclick="pOpen(http://192.168.0.12/product_info.php?cPath=2031_2032_2033&products_id=130591)" align="left" class="productListing-heading" >
ok, dann sollte es in Deinem PHP-Code so:
$tableBox_String .= '<td onclick="pOpen('' . $href2 . '')"';
gehen. Trotz dem sollten Sonderzeichen noch maskiert werden.
$tableBox_String .= '<td onclick="pOpen('' . addslashes($href2) . '')"';
Nebenbei habe ich aber auch eine Frage.
<tr class="out" target="unten" id="1" onclick="setStyle(this,id)" onmouseover={this.style.backgroundColor="#dfdf99"} onmouseout={this.style.backgroundColor="#f8f8f9"} >
Funktioniert das: onmouseover={...} ?? Korrekt sein dürfte das nicht.
Schöne Grüße
Axel
Hi,
Nein das Funktioniert nicht,
mouseover / mouseout beißen sich mit der funktion setStyle
Gruß
Markus