I have a problem with my forms. When form is submitted, I can't get my doApply() method be executed. I've tried different approaches in creating my form - subclassing as well, but still no luck. If I add doApply() to $allowed_actions and execute it through URL, it prints me out "Hello" on a blank page. But with form, it prints me out "Page not found". What is a problem here? Is it a bug in SilverStripe? Thank you.
Your code looks pretty good, only thing that strikes me you might need to test is remove the showjob function. Perhaps this is causing it issues as when you submit the form it may be calling the ShowJob function as well but without the ID set therefore not returning a form object.
Try a simplier case (like remove that whole showjobs function) and see if that works.