With your flow and a bit of help from here:
https://cookbook.nodered.org/http/post-form-data-to-a-flow I've sorted it out.
The action in the template needs to point to a URL, and then you can have a HTTP input which listens to that URL. The input you're looking for is in msg.payload.xxx.
Please see this flow below. I've added a delay and a 'clear' so that the input is cleared after being submitted.
I hope it helps!
[{"id":"324f64ed.7cc94c","type":"ui_template","z":"dfdd99b9.ed7918","group":"ecf46912.a425a8","name":"input","order":0,"width":0,"height":0,"format":"<form action=\"/getPN\" method=\"post\">\n <input type=\"text\" name=\"PN\" ng-model=\"msg.payload\" autofocus><br>\n <input type=\"submit\">\n</form>","storeOutMessages":true,"fwdInMessages":false,"templateScope":"local","x":270,"y":340,"wires":[[]]},{"id":"39be4fd3.9f5c9","type":"http in","z":"dfdd99b9.ed7918","name":"","url":"/getPN","method":"post","upload":false,"swaggerDoc":"","x":490,"y":340,"wires":[["b8d836f.58d02c8","214193c5.bb7c8c"]]},{"id":"b8d836f.58d02c8","type":"debug","z":"dfdd99b9.ed7918","name":"","active":true,"console":"false","complete":"payload.PN","x":740,"y":340,"wires":[]},{"id":"214193c5.bb7c8c","type":"delay","z":"dfdd99b9.ed7918","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":210,"y":260,"wires":[["74eb9fd2.f4eae"]]},{"id":"74eb9fd2.f4eae","type":"function","z":"dfdd99b9.ed7918","name":"clear","func":"msg.payload = \"\";\n\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":260,"wires":[["324f64ed.7cc94c"]]},{"id":"ecf46912.a425a8","type":"ui_group","z":"","name":"Autofocus","tab":"91289bdf.9cfe78","order":1,"disp":true,"width":"6","collapse":false},{"id":"91289bdf.9cfe78","type":"ui_tab","z":"","name":"Home","icon":"dashboard","order":3}]