HTML forms are ugly by design. so to make life easy for all you TCLers: tk::form -name LOGIN -callback Docmgr::Login::callback -guts { export page=$::page text first_name= size=20 submit_button action=DOIT } and your login callback will look like this: Docmgr::Login::callback {} { h1 $::first_name .... } ---- [RS]: Note that even though the first example uses the ::tk namespace, it is not part of [Tk]. To avoid confusion, different things should have different names.