Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Javascript: achteraf text aanpassen

Jurriaan R
5 antwoorden
  • Ik ben bezig met een pagina die ik uit wil printen via m'n browser. De pagina wordt gegeneerd uit een database met behulp van ASP. Op elke pagina wil ik (o.a.) een paginanummering hebben (En niet linksboven in de hoek oid via de browser page-setup dus).
    Het gaat er simpelweg zo uitzien: pagina 2/3 (b.v)

    Het probleem is nu dus dat ik pas weet hoeveel printerpagina's de webpage bevat op het moment dat de hele pagina gegeneerd is. Nu vroeg ik me dus af of het mogelijk is de variabele voor het totaal aantal pagina's achteraf pas door te geven.

    Ik vermoed dat dit mogelijk is met behulp van javascript, maar ik ben daar zelf niet bijzonder goed in en vroeg me dus af of iemand wel weet hoe dit zou moeten kunnen. :)

    Thx

    Elja
  • Ik ben bang dat ik je vraag niet goed begrijp.
    Als een web-pagina nog niet gegenereerd is, dan kan nooit worden vastgesteld hoe groot die is.
    Na het genereren van de web-pagina kan je in een afdruk-voorbeeld zien hoeveel pagina's de web-pagina op de printer heeft.

    Als je weet hoeveel regels ieder object inneemt op de web-pagina dan zou je door middel van het tellen van het aantal objecten op de web-pagina misschien kunnen vaststellen hoe groot die web-pagina wordt, maar dit wordt dan een aparte berekening die ook tijd kost.
    Bij een variabele lengte per object moet je bovendien dat gegeven gaan invoeren of op basis van de bijbehorende gegevens gaan berekenen.

    Dat heeft echter pas zin als je op basis van dat aantal pagina's actie wilt gaan ondernemen: bijv. de pagina splitsen (pagina afbreken en een nieuwe starten).

    Ik ben overigens geen java-specialist, maar ik kan me voorstellen dat een java specialtist wel dit soort informatie nodig heeft.
    Zonder dergelijke informatie kan hij ook niets doen.
  • Hmm.. Ik zal het nog eens (duidelijker) proberen uit te leggen. :)
    Met een versimpeld voorbeeld dan:

    Ik maak een pagina:

    ———–
    Dit document heeft 10 regels
    regel 2
    blabla
    regel 4
    5
    6
    7
    8
    9
    regel 10.
    ————

    Met asp bouw ik deze pagina dus regel voor regel op en telkens houd ik bij hoeveel regels ik gehad heb.
    Nu wil ik aan het einde van de pagina (regel 10.) dus de eerste regel aanpassen.

    In m'n hoofd had ik dus iets zitten in de trant van:

    Ik schrijf regel 1 op, maar ik vul een (javascript) variabele in op de plek van '10'. Dan loopt de server de rest van de ASP pagina door.
    Aan het einde geef ik de variabele uit regel 1 een waarde.
    Vervolgens wordt de pagina verzonden naar de browser van de bezoeker van de pagina. Die doorloopt de html-code en vult de variabele dus gelijk in.

    Is zoiets mogelijk is m'n vraag dan eigenlijk. En daarnaast: hoe doe ik dat dan.. :)

    Hopelijk heb ik m'n idee zo wat duidelijker verwoord.

    Thx

    Elja
  • Ik zou niet op javascript gokken, alhoewel het wel zou kunnen door ipv het paginanummer een lege <span> te zetten, met een id en die tijdens het laden van de pagina zetten, met een javascript ergens onderaan de pagina. Dat stuk javascript schrijf je dan met ASP.

    Beter lijkt mij om het in ASP zelf op te lossen. Print je alle content gelijk uit of bewaar je het eerst in een variabele? Ik zou voor het laatste gaan en dan in plaats van het pagina nummer een unieke string neerzetten, bijvoorbeeld ~~PAGINANUMMER~~.

    Aan het einde van je script vervang je dan die string met het juiste aantal pagina's dat je aan het einde weet.
  • Bedankt Jurriaan!
    Ik heb het nu met die span opgelost:

    [code:1:120205f764]
    <%
    Dim iNumberOfPages
    iNumberOfPages = 2
    %>
    <html>
    <body>
    pagina 1/<span id="test">1</span><br>

    </body>
    </html>

    <script language="javascript">
    document.getElementById("test").innerHTML = "<%=(iNumberOfPages)%>"
    </script>
    [/code:1:120205f764]

    De pagina wordt regel voor regel opgebouwd momenteel en ik ben niet echt in de stemming om daar helemaal een variabele van te gaan maken. ;)

    Deze methode heeft nog wel een nadeel (of ik doe het verkeerd): Er wordt maar 1 zo'n <span id="test"></span> tegerlijk vervangen. Ik moet dus bij meerder pagina's op het einde meerder malen een waarde aanpassen.

    Ik neem aan dat je de span oplossing zelf niet zou gebruiken omdat het niet bij iedereen zou (kunnen) werken? Dit is voor intern gebruik, dus dat maakt hierbij niet zoveel uit. Als het een andere reden heeft hoor ik die ook graag. ;)

    Thx!

    Elja

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.