2015-10-15 20 views
0

我有一個form其中包含table。在table中,我使用了foreach來獲取多個數據。提交按鈕無法在包含帶有foreach的表格的表格中工作

這是我的代碼:

<from method="post" action="/provider/provider/checkUserCodeValidation"> 

<table style="direction: rtl;text-align: right;width: 1500px;font-family: tahoma;" align="center"> 
    <thead> 
    <tr> 
    <th style="width:5%; ">row</th> 
    <th style="width:20%;">Fullname</th> 
    <th style="width:30%">Title</th> 
    <th style="width: 5%">Number</th> 
    <th>Date</th> 
    <th>ProCode</th> 
    <th>UseCode</th> 

    </tr> 
    </thead> 
    <tbody> 
    <?php 
    $i=1; 
    foreach($Items as $Item) 
    { 
    echo '<tr> 
     <td>'.$i.'</td> 
     <td>'.$Item->getUser()->getFullName().'</td> 
     <td>'.$Item->getContractTitle().'</td> 
     <td>'.$Item->getCount().'</td> 
     <td>'.$Item->getCreationDate(true,'Date').'</td> 
     <td>'.$Item->getProviderCode().'</td> 
     <td><input name=userCode id=userCode></td> 

    </tr>'; 
    $i++; 
    } 
    ?> 
    </tbody> 
    <input type="submit" name="Submit" id="submit_butt" value="Submit"/> 
</table> 


</from> 

每一行中的值是除UseCode作爲輸入標籤靜態的。 用戶輸入一個數字並按下submit按鈕,表單應該發佈數據,但它不會。 我想知道爲什麼?我甚至允許這樣做表中的foreach嗎?如果沒有,我該怎麼做才能做到這一點?

無論如何,解決方案有幫助! JQueryAjax,任何東西。

+1

發佈你的JS/Jquery部分 –

+1

'form'標籤在哪裏? –

+0

@ noobie-php我沒有使用任何JS這是一個簡單的HTML和PHP的東西 – Sean

回答

4

你需要給你的輸入元素專有名稱。

變化

<td><input name=userCode id=userCode></td> 

要:

<td><input name="userCode[]" id="userCode" value=""/></td> 

請注意在方括號的name屬性[]

當您發佈多個值時,您需要發佈數組而不是單個值。

在後端PHP,只需用,

echo '<pre>'; 
print_r($_POST['userCode']); 
echo '</pre>'; 

,你會得到環路中的所有發佈的值。

編輯:

<form>標籤不正確。

變化:

<from 

<form 

另外,關閉標籤。

+0

它不工作! 此外,我沒有得到價值屬性! <?= $ idField;?>是做什麼的? – Sean

+0

@肖恩,它必須工作。在發佈表單時。沒有花哨的代碼,一切都很簡單。 '$ idField'僅用於演示目的,您可以使用自己的變量。 – Pupil

+0

我很欣賞你的努力,但你知道用戶必須輸入這個值。在您的代碼中,<?= $ idField;?>將被打印在輸入字段上,但仍然不會發生任何事情! – Sean