Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP & JS] Tweetal problemen met wijzigen data in TextArea

Pagina: 1
Acties:

  • BratMokstrof
  • Registratie: Mei 2003
  • Laatst online: 19-11 20:12
Ik heb een tweetal vreemde (in mijn ogen tenminste) problemen met het via JS vullen van een textarea in het volgende form:

code:
1
2
3
4
5
<form name = "quickreply" method = "post">
<textarea name = "bericht" cols = "120" rows = "7" wrap = "virtual"></textarea><br>
<input type = "submit" class = "knop" name = "posten" value = "OK">
<input type = "submit" class = "knop" name = "bekijken" value = "Bekijken">
</form>


Ik probeer het op twee manieren te manipuleren die beide niet het gewenste resultaat opleveren. :(

1) Vanuit de pagina waarin de reply-box staat (maar niet in het form):
code:
1
<a href = "javascript:document.forms.quickreply.bericht.value = 'hoi';"><img src = "images/icon_quote.gif" border = "0"></a>

Probleem is dat hij dan enkel "hoi" in een nieuwe pagina toont, in plaats van het in de textarea te zetten. In Mozilla zie ik in een flits nog wel even de "hoi" getoond worden, maar ook daar lijkt hij te redirecten naar een volgende pagina.
Heb nog geprobeerd een "return false;" toe te voegen, maar dat geeft errors.

2) Vanuit een andere pagina:
code:
1
echo "<a href = \"javascript:window.opener.document.forms['quickreply'].elements['bericht'].value = window.opener.document.forms['quickreply'].elements['bericht'].value + '\n\n\n\n" . preg_replace("/[\r][\n]/", "<br>\n", preg_replace("/[\']/", "\\'", $postRS["bericht"])) . "'; window.close();\"><img src = \"images/icon_quote.gif\" border = \"0\"></a>\n";

$postRS["bericht"] bevat de tekst uit een bericht (net als "hoi" in het andere geval), maar wat ik ook probeer: de enters (in de $postRS["bericht"] opgeslagen als "\n") neemt hij niet mee. Wat ik ook probeer (zoals in dit geval vervangen door een <br>, hij zet alles op 1 regel. "\n"'s geeft hij niet weer, de <br>'s komen gewoon als tekst naar voren.


Tenslotte vind ik het eigenlijk niet zo heel netjes hoe dit werkt: de hele tekst van een bericht wordt gedupliceerd (d.w.z. de pagina wordt 2x zo groot), maar ik heb het idee dat het zonder popups / redirects niet anders kan. Klopt dat of mis ik iets moois? ;)

Alvast bedankt!

[ Voor 6% gewijzigd door BratMokstrof op 15-09-2007 12:19 ]


  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

a href='javascript:...' ? YUK!

Waarom gebruik je niet onclick in je img, zoals het hoort?
code:
1
<img src = "images/icon_quote.gif" border = "0" onclick="document.forms.quickreply.bericht.value = 'hoi';">


En misschien is het een idee om wat functies voor deze taken te maken, want het is nogal niet te lezen zoals je het compleet in je HTML hebt verweven. En dan doel ik vooral op je tweede probleem.

[ Voor 31% gewijzigd door Cavorka op 15-09-2007 12:29 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


  • BratMokstrof
  • Registratie: Mei 2003
  • Laatst online: 19-11 20:12
Cavorka schreef op zaterdag 15 september 2007 @ 12:23:
a href='javascript:...' ? YUK!

Waarom gebruik je niet onclick in je img, zoals het hoort?
code:
1
<img src = "images/icon_quote.gif" border = "0" onclick="document.forms.quickreply.bericht.value = 'hoi';">


En misschien is het een idee om wat functies voor deze taken te maken, want het is nogal niet te lezen zoals je het compleet in je HTML hebt verweven.
Reden voor de <a href="javascript ... is dat hij bij de img onClick geen "handje" boven de knop weergeeft en dat vind ik verwarrend / inconsequent.

Verder werkt het op deze manier wel, hetgeen ik eerlijk gezegd niet helemaal begrijp. Dit zou toch ongeveer hetzelfde moeten doen? :-S
Cavorka schreef op zaterdag 15 september 2007 @ 12:23:
En misschien is het een idee om wat functies voor deze taken te maken, want het is nogal niet te lezen zoals je het compleet in je HTML hebt verweven. En dan doel ik vooral op je tweede probleem.
Met een functie werkt precies dezelfde code wel bij de <a href contstructie.

Ik ben even de draad kwijt geloof ik, maar dit werkt dus:

code:
1
2
3
4
5
6
7
function quote(text)
{
    document.forms.quickreply.bericht.value += text;
}


<a href =" javascript:quote(hoi');"><img src =" images/icon_quote.gif" border =" 0"></a>

[ Voor 29% gewijzigd door BratMokstrof op 15-09-2007 12:38 ]


  • Johnny
  • Registratie: December 2001
  • Laatst online: 28-11 13:11

Johnny

ondergewaardeerde internetguru

BratMokstrof schreef op zaterdag 15 september 2007 @ 12:30:
[...]


Reden voor de <a href="javascript ... is dat hij bij de img onClick geen "handje" boven de knop weergeeft en dat vind ik verwarrend / inconsequent.
code:
1
style="cursor:pointer"

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • .Johnny
  • Registratie: September 2002
  • Laatst online: 27-10 11:50
Inderdaad, je kunt 3 dingen doen:

1. <img src=(...) onclick="jecode" style="cursor: pointer"/>

2. <a href="javascript:functieaanroep()"><img (...) /></a>

3. <a href="javascript:;" onclick="jecode"><img (...) /></a>

  • BratMokstrof
  • Registratie: Mei 2003
  • Laatst online: 19-11 20:12
Johnny schreef op zaterdag 15 september 2007 @ 13:12:
[...]


code:
1
style="cursor:pointer"
Cool, gelijk aangepast, thnx! :D

Dat was het eerste probleem, weten jullie ook meer van het tweede punt: hoe krijg ik via JS lege regels in mijn textarea? Als ik de quote routine van een paar posts eerder aanroep met een text variabele met \n's erin negeert hij die gewoon... Is dit mogelijk (vast wel)?
Edit Dat kan dus door preg_replace te laten lopen via '\n' i.p.v. "\n"... *zucht*.

Thnx dus, alles werkt! :D

[ Voor 17% gewijzigd door BratMokstrof op 15-09-2007 13:47 ]


  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
BratMokstrof schreef op zaterdag 15 september 2007 @ 13:30:
... weten jullie ook meer van het tweede punt: ...
Probeer eens met \r\n ipv enkel \n.

Het is voor ons makkelijker als je een JS/HTML probleem zonder de php-code post dus enkel de resulterende HTML/JS.

HTML:
1
<a href="javascript:window.opener.document.forms['quickreply'].elements['bericht'].value = window.opener.document.forms['quickreply'].elements['bericht'].value + '\r\n\r\n\r\n\r\n' + Postbericht ; window.close();\"><img src="images/icon_quote.gif" border="0"></a>
Pagina: 1