In that case you would need the form action to be the script, and submit another field which the script uses to find the right subroutine. You could use a hidden field. But a nice way to do it IMHO is with the submit button. Since the value field in a Submit button only gets submitted with the form when that particular button is pressed, you have the option of different buttons within the same form. For example, in the html:
<FORM ACTION="yourscript.pl" METHOD="POST">
<!-- insert other form inputs here -->
<INPUT TYPE="SUBMIT" NAME="Action" VALUE="Run Foo">
<INPUT TYPE="SUBMIT" NAME="Action" VALUE="Run Bar">
<INPUT TYPE="SUBMIT" NAME="Action" VALUE="Store Event">
</FORM>
Then in the script (in this example saved as yourscript.pl) you could have something like
use CGI qw/:standard/;
if (param('Action') and param('Action') eq 'Run Foo') {
foo();
}
elsif (param('Action') and param('Action') eq 'Run Bar') {
bar();
}
elsif (param('Action') and param('Action') eq 'Store Event') {
store_event();
}
else {
print
header,
start_html('Ack!'),
h1 'you have to call this from the form!',
end_html;
}
§ George Sherston
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|