2013-03-19 116 views
1

因此,我已經構建了數百個表單,所有這些都沒有問題,但由於某種原因我未知這個表單似乎沒有工作。這種形式還處於起步階段,以後可以插入到更大的Web應用程序中。我一遍又一遍地檢查我的代碼,檢查PHP是否運行正常等,但我沒有運氣解決我的問題。HTML/JQuery表單不會發布到PHP

問題是我無法從PHP中訪問我的表單中的任何數據。更進一步,一旦表單被髮布,它不會將表單數據附加到URL。相反,我只是得到www.example.com/list.php?

希望我只是忽略了一些東西,但我唯一能想到的其他事情是它與JQuery有關。如果你們可以看看我的代碼,看看是否有明顯的錯誤,我會非常感激。

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
    <title>list</title> 

    <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script> 
    <script> 
    $(window).load(function(){ 
    var counter = 1; 

    $('button.remove').click(function(){ 
    if(counter >= 1){ 
     $("#cnt" + counter).remove(); 
     counter--; 
     $('#count').attr('value', counter); 
    } 
    }); 

    $('button.add').click(function(e){ 
    e.preventDefault(); 
    counter++; 
$('#count').attr('value', counter); 

    var newData = '<tr style="display:none" id="cnt' + counter + '"><td><input type="text" value="Content' + counter + '"/></td></tr>'; 
    $(newData).appendTo('#myTable').fadeIn('slow').slideDown('slow'); 
    }); 
    }); 
    </script> 
    </head> 

    <body> 
<button class="add"> + </button><button class="remove"> - </button> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> 

    <table id="myTable"> 
    <tr> 
      <td><input type="text" value="Content1" id="cnt1" /></td> 
      </tr> 
    </table> 

    <input type="hidden" id="count" value="10" /> 
    <input type="submit" value="Submit" /> 
    </form> 

<?php 
echo $_GET['count']; 
?> 

</body> 
</html> 

回答

2

你離開了 「NAME」 屬性輸入字段....

的ID屬性不會取代名稱屬性

+0

我們走了,我知道這是愚蠢的。非常感謝你的幫助。 – 2013-03-19 15:53:14

+0

不用客氣,它發生在每個人身上:P – Populus 2013-03-19 15:56:13

0

Woops,你錯過了在<input type='hidden'> :) 的name='count'偏偏我們最好的

1

那麼,這對我作出幾個變化後,對我有用 -

<td><input type="text" value="Content1" id="cnt1" name="some[]" /></td> 

增加name是一個數組,因爲它們是動態添加的。

而且從劇本我改變以下行 -

var newData = '<tr style="display:none" id="cnt' + counter + '"><td><input type="text" value="Content' + counter + '"/></td></tr>'; 

var newData = '<tr style="display:none" id="cnt' + counter + '"><td><input type="text" value="Content' + counter + '" name="some[]"/></td></tr>'; 

打印時,文本字段將是一個數組,你需要使用print_r($_GET),而不是echo $_GET;

剛剛在上面添加了name=some[]

您在文本字段中沒有提及name屬性。