2015-10-17 87 views
1

我有一個包含foreach的表單。這是我的代碼:表單在foreach中提交

<table style="direction: rtl;text-align: right;width: 1500px;font-family: tahoma;" align="center"> 
    <thead> 
    <tr> 
    <th style="width:5%; ">#</th> 
    <th style="width:20%;">Name</th> 
    <th>Date</th> 
    <th>Buyer Code</th> 
    <th>User Code</th> 
    <th>Check</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php 
    $i=1; 
    foreach($Items as $Item) 
    { 
    echo '<form method="post" action="/provider/provider/checkUserCodeValidation"> 
    <tr> 
     <td>'.$i.'</td> 
     <td>'.$Item->getUser()->getFullName().'</td> 
     <td>'.$Item->getCreationDate(true,'Date').'</td> 
     <td>'.$Item->getBuyerCode().'</td> 
     <td><input name="userCode" id="userCode" value=""/></td> 
     <td><input type="submit" name="Submit" id="submit_butt" value="Submit"/></td> 
    </tr> 
    </from>'; 

    $i++; 
    } 
    ?> 
    </tbody> 

</table> 

輸出將是這樣的:

enter image description here

現在我想做的是,當用戶輸入一個整數到用戶代碼和點擊提交,它會檢查是否存在在數據庫中的整數。我正在處理checkUserCodeValidation(表單的操作)過程。問題是,如果填充了任何字段,它會將userCode的值作爲空值發送。但最後一個工程。我應該如何分別提交每一個?

重要!!:我試圖使用一個按鈕,其中所有的表是在一種形式中,但隨後的問題是,它發送一個陣列這將是在頭部疼痛,因爲我有後來發生內爆它和東西在我的功能。所以請幫助我,如果你有任何解決方案通過Javascript,這也將不勝感激。

Cheeeeers

+0

我想如果你想使用** javascript/jquery/ajax **比你不需要多個表單。 –

+0

演示如何...... – Sean

+1

首先,有幾件事情需要先改進,比如你需要在每一行中添加項目ID,所以改變提交按鈕以錨定包含表單動作URL和項目ID。 –

回答

1

你必須給每個輸入一個唯一的ID。所以你得到所有的價值。

其他方法是你使每一行的形式。

Ajax將是最好的解決方案,但在這種情況下,輸入類型必須是按鈕而不是提交。然後,你必須定義點擊處理程序,這使得ajax調用。下面是阿賈克斯後jQuery的文檔:http://vanilla-js.com

+0

我更喜歡你說的第二種方式!我想我是這樣做的,因爲每個都是一種形式! – Sean

1

YOUT文本框的id是相同

因此任何動態值添加到您的文本框,並將其命名

http://api.jquery.com/jquery.post/ 可以在香草JS太做
<input name="userCode[]" id="userCode<?php $i ?>" value=""/>