Dit is een topic in Community » Forum » Pro » Web ontwikkeling

Tekst wijzigen d.m.v. PHP

Thom

Thom op 01 november 2006 #

Ik ben niet zo'n PHP'er dus probeer ik het via deze weg. Ik heb een tabel met een aantal cellen in HTML. Nu wil ik als je uit een pull-down menuutje kiest, je dan de tekst kunt wijzigen in alle cellen van een kolom. Dit lijkt me met PHP moeten. Heeft iemand een ideee hoe dit moet of in welke richting ik dit moet zoeken.

pvdheijden

pvdheijden op 01 november 2006 #

Dit kan zowel met PHP als met JavaScript. Met PHP stop je de pull-down in een formuliertje en voeg je een knop verzenden toe. Als de pagina dan herlaadt, laat je PHP de pagina bouwen op basis van de gekozen waarde uit de pull-down. Met javascript zou je de inhoud van de cellen kunnen wijzigen zonder dat de pagina herlaadt. Misschien kan je even duidelijker omschrijven wat je wil. En anders even een crash-course PHP of JavaScript (www.w3schools.com) volgen. Misschien staat er ook wat op http://www.hotscripts.com

Thom

Thom op 01 november 2006 #

Preciezer kan ik het bijna niet omschrijven: Ik heb een tabel met een aantal kolommen en rijen. Boven elke kolom staat een pull-downmenu. Als je voor een optie uit dat pull-down menu kiest dan wil ik dat er bepaalde tekstjes in de cellen in de kolom eronder verschijnen. De pagina zal dan ook wel gerefreshed moeten worden. Wat ik eerst dacht is om in alle cellen een iframe te zetten, maar dat werkt niet omdat dat dan een vaste hoogte moet hebben. Ik heb geen verstand van JavaScript of PHP. Op hotscripts ben ik aan het zoeken, maar weet niet zo goed ik welke richting ik moet zoeken.

iJoost op 01 november 2006 #

Je kunt de hele tabel in een form plaatsen en dan in het onchange event van die comboboxen (JavaScript dus) die form een submit geven. Dat refresht dan de pagina. Waarbij je server side (in de PHP) de tabel weer opnieuw kunt opbouwen en vullen op basis van de waarden die geselecteerd zijn in de comboboxen). Als je niet noodzakelijk server side moet zijn (bijvoorbeeld omdat alles wat je nodig heeft voor de nieuwe waarden client side al beschikbaar is (of afleidbaar is)), dan zou je er ook voor kunnen kiezen om de pagina niet te refreshen maar gewoon direct vanuit JavaScript (via de DOM) de inhoud van die tabel te manipuleren. En het allermooist is natuurlijk AJAX (dus dan haal je de benodigde gegevens wel op van de server maar je refresht de pagina niet). Als ik jou was zou ik maar beginnen met optie 1. Maar hoe je dat voor elkaar moet krijgen zonder kennis van JavaScript en PHP, zou ik even niet weten...

Thom

Thom op 01 november 2006 #

Volgens mij zie je het te ingewikkeld. Ik heb nu het volgende: http://www.sprinck.nl/_projects/temp.html# Ik ben nu op de helft. Het lukt me nu dus al één cel te wijzigen. Wat ik wil is als je op 'Set text' klikt je beide cellen kunt wijzigen. Ik weet dus niet hoe ik twee 'onClick's' op een link zet.

JeeVee

JeeVee op 01 november 2006 #

Zoiets is wel zo statisch als de pest maar het werkt wel. Met PHP heb je meer controle over de tekst in de table Groet Jan <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <title></title> <script language="javascript"> function toonTekst(tekst) { for (i = 1; i <= (10 - 1); i++) { document.getElementById('tekst'+i).style.visibility = 'hidden'; } document.getElementById('tekst' + tekst).style.visibility = 'visible'; } </script> </head> <body> <form id="myform" action="(EmptyReference!)" method="get" name="myform"> <table border="1" cellspacing="2" cellpadding="0"> <tr> <td width="200"><select name="combo1" size="1" onChange="javascript:toonTekst(document.forms.myform.combo1.value);"> <option>- maak een keuze -</option> <option value="1">tekst A</option> <option value="2">tekst B</option> <option value="3">tekst C</option> </select></td> <td width="200"><select name="combo2" size="1" onChange="javascript:toonTekst(document.forms.myform.combo2.value);"> <option>- maak een keuze -</option> <option value="4">tekst D</option> <option value="5">tekst E</option> <option value="6">tekst F</option> </select></td> <td width="200"><select name="combo3" size="1" onChange="javascript:toonTekst(document.forms.myform.combo3.value);"> <option>- maak een keuze -</option> <option value="7">tekst G</option> <option value="8">tekst H</option> <option value="9">tekst I</option> </select></td> </tr> <tr> <td style="visibility:hidden;" id="tekst1" width="200">Tekst A</td> <td style="visibility:hidden;" id="tekst4" width="200">Tekst D</td> <td style="visibility:hidden;" id="tekst7" width="200">Tekst H</td> </tr> <tr> <td style="visibility:hidden;" id="tekst2" width="200">Tekst B</td> <td style="visibility:hidden;" id="tekst5" width="200">Tekst E</td> <td style="visibility:hidden;" id="tekst8" width="200">Tekst I</td> </tr> <tr> <td style="visibility:hidden;" id="tekst3" width="200">Tekst C</td> <td style="visibility:hidden;" id="tekst6" width="200">Tekst F</td> <td style="visibility:hidden;" id="tekst9" width="200">Tekst J</td> </tr> </table> </form> </body> </html>

Thom

Thom op 01 november 2006 #

He fantastich, ik ga er ven mee aan de slag. Thomas

JeeVee

JeeVee op 01 november 2006 #

Je kan i.p.v. de table ook met divjes weken. Dan heb je weer meer controle over de posite, layout en vormgeving van de tekst. Ook hou je dan eenvoudigere code over. Groet Jan

hansenonline

hansenonline op 01 november 2006 #

als je de pagina niet wilt refreshen kan je voor xmlhttprequest kiezen, hier een voorbeeld

Thom

Thom op 01 november 2006 #

Het is me gelukt. In Dreamweaver bleek wel een 'Behaviour' te zitten die voldeed. http://www.sprinck.nl/_projects/wsw/programma.html

hansenonline

hansenonline op 02 november 2006 #

Je kunt alleen reageren met een gratis OMT account.
Log in of registreer.

Inloggen

Over dit topic

Gestart op 01 november 2006 door Thom

Laatste reactie door hansenonline

Reageer op dit topic