dojo dojo.behavior值未发布

时间:2013-01-09 22:28:02

标签: php dojo javascript-framework

当我运行以下代码段并点击“提交”时,不会发布“价格”;有什么我忘记了吗?

<?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>

对不起这个新手问题

埃里克

2 个答案:

答案 0 :(得分:0)

替换:

var_dump($_POST);

使用:

var_dump($_POST['price']);

答案 1 :(得分:0)

最近我遇到了类似的问题,只有这个结果我发现但没有回答。但今天我明白了,所以我会分享我的知识。

当您创建新的小部件框时,您还需要定义名称&#39;否则小部件将生成隐藏的输入而没有&#34; name&#34;发布时需要的属性。

更改此行:

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

特丽克丝