2011-05-20 188 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" >