Toon posts:

[html/js/php] Returns kwijt versturen via JS

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de volgende situatie:
Ik heb een form met wat textboxen, dropdowns en een textarea.

De 2e dropdown zijn waarde zijn afhankelijk van de eerste dropdown zijn geselecteerde waarde.

Dit heb ik opgelost dus bij de eerste dropdown een onchange="bla" neer te zetten. in bla vernieuw ik het gehele scherm met forms en stuur ik alle waardes van alle velden mee, waaronder ook de textbox (document.<form>.textbox.value).

Nu, wanneer aan de server het script wordt opgevraagd, gaat PHP even schoffelen in mijn scriptje en kijkt dus of er waardes zijn meegstuurd voor de velden en wanneer dit zo is, worden deze ingevuld.

Maar het probleem: Wanneer ik een return (enter) heb gegeven in de textbox, ben ik deze kwijt na het herladen van het scherm.

Of ik de text er nou plain in zet, of met htmlspecialchars() (functie van PHP); ik blijf geen return krijgen; ook niet in de source van mijn gecreerde html-bestand.

Ik heb even rondgeneuzd zo hier en daar maar het is al een moeilijk te omschrijven probleem vond ik, dus ik heb er niets over gevonden.. Gaarne jullie gedachtes hierover :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

nl2br misschien?

Who is John Galt?


Verwijderd

Topicstarter
Dat geeft helaas ook geen resultaat.
In principe zou ik al iets van returns in een of andere taal in de source moeten zien als ik er helemaal geen functie overheen haal, maar zelfs dat lukt niet.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:02

gorgi_19

Kruimeltjes zijn weer op :9

Heb je iets van een Trim-functie erin zitten? Een beetje relevante source-code wil misschien ook helpen...

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

plant even de URL erbij, en iemand anders zou je misschien wel willen helpen.

Verwijderd

Topicstarter
Helaas gaat het hier om bedrijfs-source en mag ik deze niet vrijgeven. De site draait dan ook op een intranet.

Is de omschrijving niet duidelijk genoeg voor jullie? Zo niet, welk deel niet?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:02

gorgi_19

Kruimeltjes zijn weer op :9

Op maandag 15 juli 2002 16:08 schreef Jolrael het volgende:
Helaas gaat het hier om bedrijfs-source en mag ik deze niet vrijgeven. De site draait dan ook op een intranet.

Is de omschrijving niet duidelijk genoeg voor jullie? Zo niet, welk deel niet?
:? Tsja, het wordt dan wel erg lastig om je te helpen; van case-sensitiviteitproblemen clientside tot een verkeerde functie serverside; het kunnen tig problemen zijn.

Ik vind het in ieder geval makkelijker om een stuk code te zien; deze is makkelijker na te lopen dan een ander mijn 'persoonlijke-stappenplan-van-hoe-los-ik-een-fout' te geven (veelal gebeuren dingen automatisch)

Je hoeft ook niet de HELE source te doen, maar alleen de relevante stukken. Daarnaast kan je eventueel wachtwoorden enzo (mochten die erin staan) veranderen door sterretjes.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Nouja, een kleine poging:
code:
1
<SELECT NAME="project" STYLE="width=365; border=0;background= rgb(255,255,210);" onchange="parent.main.location.href='issue.php?action=add&project_id=' + this.value + '&naam=' + document.issue_add.naam.value + '&omschrijving=' + document.issue_add.omschrijving.value + '&melder_id=' + document.issue_add.melder.value + '&soort_id=' + document.issue_add.soort.value">

Dit is de selectbox die bij wijziging alle waardes van de velden meegeeft aan hetzelfde windows.
code:
1
<textarea rows="5" cols="43" name="omschrijving" STYLE="width=365; border=0;"><? if ($omschrijving) echo $omschrijving ?></textarea>

En dit dan de textarea die (wanneer er een waarde meekomt, dit even voor je neerlegt).

Ik vul dan de textbox met:
code:
1
2
3
123
234
345

En wijzig vervolgens de dropdown (zodat de pagina wordt ververst).. Dan zie ik in de source het volgende:
code:
1
<textarea rows="5" cols="43" name="omschrijving" STYLE="width=365; border=0;">123234345</textarea>

Alle returns (enters) weg en de tekst aan elkaar geplakt

edit:

Code-tags toegevoegd & checkbox in textbox aangepast

  • André
  • Registratie: Maart 2002
  • Laatst online: 13:14

André

Analytics dude

Op maandag 15 juli 2002 16:15 schreef Jolrael het volgende:

Ik vul dan de checkbox met:
Een checkbox ondersteunt geen returns, net als een input type="text"...

Verwijderd

Topicstarter
Mjah, type

textbox dus..

  • André
  • Registratie: Maart 2002
  • Laatst online: 13:14

André

Analytics dude

Op maandag 15 juli 2002 16:25 schreef Jolrael het volgende:
Mjah, type

textbox dus..
Mjah...

textarea van maken...

;)

Verwijderd

Ik denk toch echt dat het met nl2br moet, en ik weet niet precies hoe het met returns en de GET methode gaat. Misschien kun je beter de methode veranderen naar POST.

Maar hoe dan ook, waarom roep je niet gewoon de submit methode van dat formulier aan?

Wat PHP binnenkrijgt is waarschijnlijk een keer door de addslashes gehaald (afhankelijk van de php instelling magic_quotes_gpc). Je moet dus 3 functies uitvoeren, in de juiste volgorde, om in de textarea te krijgen wat was ingevoerd:
code:
1
$output = nl2br(htmlspecialchars(stripslashes($input)));

Kijk ook meteen even naar $HTTP_POST_VARS, of $_POST in PHP 4.1+, want ik gok dat je PHP niet echt optimaal is.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 22:33

Pelle

🚴‍♂️

nl2br() heeft hier niks mee te maken; een newline in een textarea is gewoon een newline, een <br> in een textarea zul je gewoon als tekst zien (en niet als newline).

Verwijderd

Topicstarter
Ik heb het maar opgelost door de submit van de form aan te roepen.

De action was overigens al POST. Ik denk toch dat JavaScript iets fout doet/deed bij het sturen van mijn textbox. Met de submit van het form krijg ik wel gewoon de returns, zonder enige functie er aan toe te voegen.

Verwijderd

Topicstarter
Op maandag 15 juli 2002 16:47 schreef Pelle het volgende:
nl2br() heeft hier niks mee te maken; een newline in een textarea is gewoon een newline, een <br> in een textarea zul je gewoon als tekst zien (en niet als newline).
Zelfs dit is niet het geval, anders zou ik deze <br> in een of andere vorm toch wel terug moeten vinden in de source van de gegenereerde HTML pagina

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

pssst....

stylesheets gaan met dubbele punten ;)

STYLE="width=365; border=0;"

style="width:365;border:0"
De action was overigens al POST. Ik denk toch dat JavaScript iets fout doet/deed bij het sturen van mijn textbox. Met de submit van het form krijg ik wel gewoon de returns, zonder enige functie er aan toe te voegen.
Nah.. 99% zeker dat het lag aan je PHP-code. Bij zowel POST als GET worden linebreaks gewoon omgezet (een linebreak is ook gewoon een teken, of combinatie van tekens), niks wat Javascript daarmee doet.

Verwijderd

Topicstarter
Het gaat erom dat het iig is opgelost (op een andere manier helaas)...
En toch weet ik niet zo zeker of het aan PHP ligt. Wanneer ik er geen functie overheen haal, zou die het toch onaangeroerd moeten versturen en zou ik het dus in de source ook zo kunnen bekijken.

En css werkt ook met = gezien de background van de dropdowns echt een ander kleurtje heeft en even lang is :)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op dinsdag 16 juli 2002 13:28 schreef Jolrael het volgende:
Het gaat erom dat het iig is opgelost (op een andere manier helaas)...
En toch weet ik niet zo zeker of het aan PHP ligt. Wanneer ik er geen functie overheen haal, zou die het toch onaangeroerd moeten versturen en zou ik het dus in de source ook zo kunnen bekijken.

En css werkt ook met = gezien de background van de dropdowns echt een ander kleurtje heeft en even lang is :)
A. Het ligt niet aan PHP, maar aan JOUW PHP.. nogal een verschil...
B. Leer eens HTML en CSS. Dat Internet Explorer nu zo makkelijk is met de standaard wil nog niet zeggen dat het ook zo hoort. CSS hoort met dubbele punten. http://www.w3.org
Pagina: 1