Toon posts:

[js] toevoegen aanhalingstekens aan linktarget

Pagina: 1
Acties:

Verwijderd

Topicstarter
in een wysiwyg-editor maak ik links aan dmv
code:
1
2
myText = tekstFrame.document.selection.createRange();
myText.execCommand ('createLink', false, linkUrl);

bij het aanroepen van de functie stuur ik een variabele linkTarget (_blank, _top of _self) mee die ik als target aan deze link toe ken dmv
code:
1
dezeLink.target = linkTarget;

(waarbij dezeLink een referentie naar de betreffende link is)
wanneer ik nu de bijbehorende code bekijk, ziet mijn link er altijd uit als
code:
1
een tekstje en een <A href="http://www.iets.nl/" target=_blank>linkje</A>

om het target staan dus geen aanhalingstekens, en het lukt me maar niet om die aanhalingstekens er wel omheen te krijgen.
wanneer ik het target toeken dmv
code:
1
dezeLink.target = "'"+linkTarget+"'";

krijg ik als code
code:
1
een tekstje en een <A href="http://www.iets.nl" target="'_blank'">linkje</A>

dan staan er dus eerst dubbele en dan enkele aanhalingstekens. wanneer ik de aanhalingstekens in de value van de <option> tags zet waarmee ik het target doorgeef gebeurt hetzelfde. ook mbv backslashes lukt het me niet.

Wie weet een oplossing?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat gebeurt er trouwens als je setAttribute gebruikt?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
dan doet hij precies hetzelfde :(
code:
1
dezeLink.setAttribute ("target", linkTarget);

levert
code:
1
een tekstje en een <A href="http://www.iets.nl/" target=_blank>linkje</A>

en
code:
1
dezeLink.setAttribute ("target", "'"+linkTarget+"'");

levert
code:
1
een tekstje en een <A href="http://www.iets.nl/" target="'_blank'">linkje</A>

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

code:
1
dezeLink.setAttribute ("target", "'"+linkTarget+"'");

moet zijn
code:
1
dezeLink.setAttribute ("target", linkTarget);


:?

[ Voor 24% gewijzigd door disjfa op 17-02-2004 15:48 ]

disjfa - disj·fa (meneer)
disjfa.nl


Verwijderd

Hoe zie je die code dan als je de elementen en attributen met JS creeert?

Als je view source van IE gebruikt heb je altijd lelijke code, daar moet je je niks van aantrekken.

Verwijderd

Topicstarter
(nofi) zoals je in het eerste code-fragment van mijn reply kunt zien levert dat dus <a href="bla" target=_blank>. zonder aanhalingstekens dus...

Verwijderd

Topicstarter
(@Blues) ik heb de content in een iFrame staan, en de content daarvan bekijk ik met
var iFrameContent = document.frames("tekstFrame").document.body.innerHTML; (wysiwyg)
en
var iFrameContent = document.frames("tekstFrame").document.body.innerText; (html-mode)

op die manier wordt de inhoud van het iFrame ook doorgegeven aan de pagina die het in een database zet.

[ Voor 5% gewijzigd door Verwijderd op 17-02-2004 15:53 ]


Verwijderd

Verwijderd schreef op 17 februari 2004 @ 15:52:
(@Blues) ik heb de content in een iFrame staan, en de content daarvan bekijk ik met
var iFrameContent = document.frames("tekstFrame").document.body.innerHTML; (wysiwyg)
en
var iFrameContent = document.frames("tekstFrame").document.body.innerText; (html-mode)

op die manier wordt de inhoud van het iFrame ook doorgegeven aan de pagina die het in een database zet.
Dan kun je je drie slagen in de rondte draaien, maar je krijgt nooit de code terug zoals je 'm toevoegt. Probeer maar eens een TABLE in te voegen en weer op te vragen -- zit er automagisch ineens een TBODY element in... Zo zijn er legio voorbeelden van code die verandert na het invoegen.

Je probleem is dus: hoe kan ik de HTML die ik eruit haal corrigeren! Er zijn zat HTML-to-XHTML convertors in JavaScript geschreven, doe hier maar eens een search.

[ Voor 12% gewijzigd door Verwijderd op 17-02-2004 16:14 ]


Verwijderd

Topicstarter
hmmm... ik weet echt helemaal niks van xhtml. dan ga ik ivm tijdsdruk denk ik maar in het php-bestand waar alles in de db wordt gezet alle target=... vervangen door target='...'

dat wordt dan dus
PHP:
4
5
6
$body = ereg_replace ("target=_blank", "target=\"_blank\"", $body);
$body = ereg_replace ("target=_blank", "target=\"_self\"", $body);
$body = ereg_replace ("target=_blank", "target=\"_top\"", $body);

[ Voor 42% gewijzigd door Verwijderd op 17-02-2004 16:51 ]

Pagina: 1