Here is a quick and dirty way to do it using custom HTML links and ASLEvent. You can directly invoke a function and pass it arguments. I'm whipping this out before work, so I just added it into my "gbtest" game, so there's some other stuff in there you don't need. Just focus on Page1 and the function SomeFunction. Basically, the link directly invokes that function with an argument string which is then set into a player parameter. You can have the function (or functions) do whatever you like, and the argument string can be whatever you like as well.
Important note: your function *must* accept a single argument, even if you don't use it for anything.
I just have the function redisplay the page with the new value, but (again) you can have it do what you like. Even set a flag.
For those who don't want to or can't open the attachment, the magic is in links like this:
<a class="cmdlink" onclick="ASLEvent('SomeFunction','swords')">This is for swords</a><br>
<a class="cmdlink" onclick="ASLEvent('SomeFunction','shields')">This is for shields</a><br>
ASLEvent directly invokes a Quest function, passing it the argument string.