Toon posts:

[JavaScript] van ' een \' maken.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mede tweakers,

Ik heb voor mijn website sneller te maken een aantal dingen in functies gezet.
Zo ook een functie om hyperlinks te generen vanuit een titel.

Dat gaat goed, maar zodra die titel in de mouseover event wil zetten krijg ik een

fout.
Dit gebeurt alleens als een ' in staat.
Die moet ik dus op de een of andere manier escapen. (de functie escape() maakt er

%xx van en dat is niet de bedoeling).

Ik gebruik PHP om de pagina te generen (met de Javascript'jes erin),
in PHP gebruik addSlashes().
Is er ook zo iets in JavaScript? (of niet ik daarvoor een regex maken??

Kan iemand mij hiermee helpen?

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
als je 'm met php genereert kun je toch gewoon addslashes gebruiken? snap niet waarom je dat persee in javascript wil doen

Verwijderd

Topicstarter
ik ben Javascript gaan gebruiken om niet iedere keer die hele <tr> regel te hoeven typen. Als JavaScript het kan genereren.

Het gaat nu fout als ik het script aan roepen met fucntienaam('test met qoute\'');
het afdrukken op het scherm gaat goed.
alleen als ik dezelfde var nu in de mouseover zet, gaat het fout.
het moet dan 'test met qoute\\\'' worden.

Maar hoe krijg ik dat in Javascript ?

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
Verwijderd schreef op 13 oktober 2002 @ 20:22:
ik ben Javascript gaan gebruiken om niet iedere keer die hele <tr> regel te hoeven typen. Als JavaScript het kan genereren.

Het gaat nu fout als ik het script aan roepen met fucntienaam('test met qoute\'');
het afdrukken op het scherm gaat goed.
alleen als ik dezelfde var nu in de mouseover zet, gaat het fout.
het moet dan 'test met qoute\\\'' worden.

Maar hoe krijg ik dat in Javascript ?
gewoon: functienaam("test met 'quote'"); :)

  • [eNeRGy]
  • Registratie: November 1999
  • Laatst online: 24-04-2025
String.replace('\'', '\\\'');

??

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 11:48

RM-rf

1 2 3 4 5 7 6 8 9

ik denk dat je in je functie eval() gebruikt en het waarschijnlijk beter is deze functie te omzeilen, wat vast mogelijk is als je je hele code post

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Ik vraag me net als marty af waarom je eerst met PHP code genereert en dan javascript wilt gebruiken om de tekstjes goed te zetten. Dit is alleen maar logisch als de code op de een of andere manier in de pagina staat en je die dynamisch ophaalt (bijvoorbeeld uit de title zoals je zelf al zei).

In dat geval kan je voor twee methodes kiezen:
1) Je roept die content rechtstreeks aan:
<a href="" onClick="alert(self.title);return false">Click</a>
2) Je plaatst ze direct in de code maar dan moet je gaan escapen zoals je zelf al zei:
function JSEscape(sSentence)
{
return sSentence.replace("'", "\'");
}

Toch kan je met de escape en unescape methode werken!
Plaats de code erin met de escape methode. Daarna gebruik je de unescape om de data weer goed te zetten. Het is een klein trucje, maar het werkt als een tiet.

document.write("<a href=\"#\" onClick=\"alert(unescape('" + escape(self.title) + "'));return false\">click</a>");

is een kort door de bocht oplossing omdat het erg moeilijk is om de single en doublequote samen te gebruiken in een onclick (of andere) event die al omsloten is door een single en / of doublequote.

Verwijderd

Find and replaces!?

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
ken je de term 'wel de kok horen schreeuwen maar niet weten dat de lepel op het kerkhof ligt'?

Verwijderd

|HunterPro| schreef op 14 oktober 2002 @ 20:04:
[...]


ken je de term 'wel de kok horen schreeuwen maar niet weten dat de lepel op het kerkhof ligt'?
Nee :9

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

damn, kan de modderspuit van a3 ook niet eens dichtgedraaid worden? :/

www.jurgroessen.nl


Verwijderd

Ik vind het echt gewelfig leuk om te mailen (not). Dus Adri, als je dat mailtje nog hebt dat ik je vorige maand gestuurd hebt, lees dat dan nog eens goed door, en neem die informatie goed in je op.

Mocht je dat mailtje niet meer hebben, dan wil ik hem best nog wel eens mailen, maar dan doe ik er wel een officiële waarschuwing bij.

Kortom: reply alleen als je écht iets te zeggen hebt.
Pagina: 1