Since Mech does not support javascript I do not get the whole page or the form for submitting the login.
That doesn't make any sense at all. No, Mech doesn't support JavaScript but neither does LWP. Unsurprisingly since they're really the same thing. But of course Mech gets the full page, it couldn't possibly function otherwise.
print $mech->content(), without the format, will show you the source.
If you've got the source of the page, you can use it to find the Javascript. If you can find the JavaScript you can read it and find how it sets the data field.
And if you can bear to tell us what site you're trying to log into, this will get a lot easier because we'll be able to look at it as well.
Nobody says perl looks like line-noise any more
kids today don't know what line-noise IS ...