dojo dojo.behavior值未发布

When I run following snippet and click 'submit', 'price' is not posted; is there something I forgot ?

<?php
var_dump($_POST);
?> 
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="libs/dijit/themes/claro/claro.css"> 
<script>dojoConfig = {async: true}</script>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/dojo.js"></script> 
</head> 
<body class="claro">
<form id="myform" method="post" action="index.php"> 
  <input class="cif" name="price" type="text" value="125.10" />
  <input type="submit" value="submit" name="submit">
</form>
<script type="text/javascript">
require(["dojo/ready", "dijit/form/NumberTextBox", "dojo/behavior"],
   function(ready, box, behavior){
      ready(function(){     
         behavior.add({
           '.cif': function(node) { //assumes "found"
              new box({constraints: {pattern: "###,###.00"}, value: dojo.number.format(node.value, {places:2})},node);                          
         }
      });
      behavior.apply();
   });      
});
</script>
</body>
</html>

Sorry for this newbie question

Erik

Replace:

var_dump($_POST);

With:

var_dump($_POST['price']);

Recently I ran into similar problem and only this result I found but with no answer. But today I figure it out so I'll share my knowledge.

When you are creating a new widget box you also need to define 'name' attribute otherwise the widget will generate hidden input with no "name" attribute which is required when posting.

Change this line:

new box({constraints: {pattern: "###,###.00"}, value: dojo.number.format(node.value, {places:2}), name: "price"},node);

Trix