in reply to replicating blocks of code in perl and cgi

There are generally two approaches: (1) do it server-side, (2) do it client-side in Javascript, by having the button call a routine that manipulates the DOM of the page to add another textbox element to the form.

I'll outline variant 1, as it can be done in Perl. Generally, you'd need a loop around the section that outputs the HTML for the textbox. The loop count would be incremented via the add button. As HTTP is stateless, you'll have to manage persistence somehow, for example by keeping the current count value in a hidden form field, or by storing it in a session.  Of course, this variant would mean a roundtrip to the server (plus recreating the entire page with the current form values) every time you add another textbox — which could be avoided using the Javascript variant, at the cost of requiring people to have JS enabled.

  • Comment on Re: replicating blocks of code in perl and cgi