簡體   English   中英

處理動態生成的表單中的數據

[英]Handling datas from dynamically generated form

我想到制作一些可以動態生成大量表單的東西,然后使用jquery處理其提交。

所以我通過使用類似這樣的東西使用php生成表單。

while(some condition) {
    echo "<form method=post action=specific_url.php name=some_form_name>";
    echo "<input type=text>";
    echo "<input type=submit>";
    echo "</form>";
}

好吧,以上只是一個框架。 主要問題是我應該如何命名/標識表單元素,以便我可以在提交過程中唯一地標識每個表單並提交它們,並且使用該表單可以提取specific_url頁面上的數據而沒有任何問題。

我可以想到的最類似於此功能的是Facebook帖子,每個帖子都有一個評論框。

更新

我想我對這個問題不太清楚。 對於那個很抱歉。 讓我改一下。

因此,到目前為止,我擁有這些動態生成的表格。 現在,假設用戶在其中一個文本框中寫入內容,然后單擊“提交”按鈕。

此時,jquery應該控制它。 將特定的表單數據發送到url。 檢索結果並執行某些操作。

所以最后,我應該可以做這樣的事情

$(some_selector).submit(function(e) {
    e.preventDefault();
    $.post('specific_url.php',$(some_selector).serialize(),function(data) {
        // some stuff
    });
});

此處的“ some_selector”是在提交特定表單然后發送該表單的數據時激活的選擇器。

您可以使用隱藏的表單元素並將其值設置為表單的ID。

<input type="hidden" name="form_id" value="1">

這樣,您可以像提交任何其他表單值一樣訪問form_id。 我現在正在查看facebook源,並且在注釋框旁邊看到一些隱藏的表單元素

要求元素id屬性必須唯一,而name屬性則必須唯一。

也可以使用元素數組,例如:

<input name="comment[]" type=text>
<input name="comment[]" type=text>
<input name="comment[]" type=text>.

在您的PHP中。 $ _POST ['comment']的值將作為數組發送。

如果要在PHP代碼中唯一標識每個注釋,則將被迫對其進行唯一重命名。

<input name="comment1" type=text>
<input name="comment2" type=text>
<input name="comment3" type=text>

由於您是使用PHP生成表單的,因此很容易跟蹤應生成的名稱。

如果您有多種形式,則可以自由統治。 表單不需要名稱。 但是,要確定表單在頁面中的位置,請放置一個隱藏字段。

while(some condition) {
    echo "<form method=post action=specific_url.php";
    echo "<input name='position_in_page' type='hidden' value='$somevalue'>";
    echo "<input name='comment' type='text'>";
    echo "<input type='submit'>";
    echo "</form>";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM