2011-05-20 187 views
3

我有两个文件(file1和file2)。 file1在PHP include语句中包含file2。 File1还包含一个表单并打印出所有$ _POST变量。 File2使用Javascript按钮来动态更改输入字段中的值。问题是按下提交后$ _POST为空。为什么是这样,我该如何解决它?

文件1:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<?php include 'file2.php'; ?> 
<input type="submit" /></form> 

<?php foreach ($_POST as $key => $val) { echo $key . " belongs to " . $val; } ?> 

文件2

<script type="text/javascript"> 
     var button = { 
     counter : 0, 

      count : function() { 
      text = document.getElementById("text"); 
      this.counter++; 
      text.setAttribute("value", this.counter); 
     } 
    }; 
    </script> 

<button type="button" onclick="button.count()">CLICK ME!</button> 
<input id="text" type="text" value="0" /> 
+3

你输入需要一个name属性,当它是由PHP – kjy112 2011-05-20 14:17:18

回答

5

你忘了把name属性:

<input id="text" name="text" type="text" value="0" /> 
+0

处理来识别输入我觉得忽略了此非常愚蠢的。我只是测试它(我的实际代码)并添加名称参数解决了这个问题。非常感谢。 – BlackSheep 2011-05-20 14:27:50

+0

享受!如果您发现任何答案有帮助,请记住在左侧用勾号接受它(我已经写过,因为您没有接受答案)。 – hsz 2011-05-20 14:29:38

2
text.setAttribute("value", this.counter); 

这是最好的:

text.value = this.counter; 

你也需要你的元素上的name属性:

<input id="text" name="text" type="text" value="0" /> 
0

你没有设置栏的“文本”的name属性。

更正代码:

<input id="text" name="text" type="text" value="0" >