2012-04-13 56 views
2
提交的字段的順序

我有一個表單,允許用戶將輸入(使用jQuery)轉換爲他們想要的任何順序。對於下面的表格,用戶可能需要「fieldD」,後跟「fieldA」,「fieldB」,「fieldC」。查看從

實例形式:

<form id="myForm" method="post"> 
    <input type="submit"> 
    <table> 
     <tr><td><input type="text" name="fieldA"></td></tr> 
     <tr><td><input type="text" name="fieldB"></td></tr> 
     <tr><td><input type="text" name="fieldC"></td></tr> 
     <tr><td><input type="text" name="fieldD"></td></tr> 
    </table> 
</form> 

什麼是捕捉訂貨時,他們提交表單選擇的用戶的最佳方法是什麼?

+0

沒有回答這些問題的幫助? – iambriansreed 2012-04-14 04:01:34

+0

你使用哪種服務器端語言? – iambriansreed 2012-04-14 04:02:07

+0

@iambriansreed經典ASP是服務器端語言 – Ojen 2012-04-16 17:37:00

回答

0

從答案中獲得創意,我最終使用jQuery遍歷我的表來確定排序。當我實際執行它時,我將在提交表單時確定排序(通過遍歷我的表)。

下面是演示概念的jsfiddle:

http://jsfiddle.net/kq8tT/6/

0

你可以存儲這些輸入值在數組和數量場名稱:

<form id="myForm" method="post"> 
    <input type="submit"> 
    <input type="text" name="field[1]" /> 
    <input type="text" name="field[2]" /> 
    <input type="text" name="field[3]" /> 
    <input type="text" name="field[4]" /> 
</form> 

字段名稱需要每完成分揀操作後得到改寫。

// this will result in a PHP-array, e.g. 
$_POST['field'][0] 

foreach($_POST['field'] as $indexAsSetViaJs => $fieldValue) { 
    // process values in desired order 
} 
1

通過規範,表單數據中字段的順序是未定義的。在實踐中,它往往是文本順序,但特別是如果訂單改變客戶端,我不會指望它。

最好的方法可能是創建一個字段名稱數組,並在訂單更改時對其進行修改。如果在沒有客戶端腳本的情況下使用頁面是有意義的,那麼包含一個隱藏字段是最安全的,它包含字段的文本順序,並在提交表單數據時動態地用數組中的數據替換其內容。

0

在過去,我也做了以下內容:

<form id="myForm" method="post"> 
    <input type="submit"> 
    <table> 
     <tr><td><input type="text" name="fieldA"></td></tr> 
     <tr><td><input type="text" name="fieldB"></td></tr> 
     <tr><td><input type="text" name="fieldC"></td></tr> 
     <tr><td><input type="text" name="fieldD"></td></tr> 
    </table> 
    <input type="hidden" name="fields" value="fieldA,fieldB,fieldC,fieldD" /> 
</form> 

也就是說,按照正確的順序添加一個隱藏字段的字段名稱。