簡體   English   中英

我怎樣才能從多個表單中獲取值並提交它們?

[英]how can i get values from multiple forms and submit them?

我的頁面上有DIVS內的幾個表單。

我有一個包含文本字段的表單,並且始終可見,這是用戶點擊“輸入”鍵並提交的地方......

我想在頁面上的其他表單中選擇值,並將它們全部一起提交,而不是一個一個地提交,這樣我的PHP代碼就可以使用“ALL VALUES”並搜索mysql數據庫......

這可以通過javascript使用"<form onsubmit>"來調用javascript嗎?

任何代碼將不勝感激......

謝謝

沒有一些Javascript hocus-pocus,你不能。 一種形式=一個請求。

可以用JS做到這一點,你有幾個選擇。 最簡單的方法是遍歷頁面上的所有表單,並基本上將所有輸入字段和值復制到一個表單中,然后提交該組合表單。

使用jQuery它會是這樣的:

$("form").submit(function() {
    combineAndSendForms();
    return false;        // prevent default action
});

function combineAndSendForms() {
    var $newForm = $("<form></form>")    // our new form.
        .attr({method : "POST", action : ""}) // customise as required
    ;
    $(":input:not(:submit, :button)").each(function() {  // grab all the useful inputs
        $newForm.append($("<input type=\"hidden\" />")   // create a new hidden field
            .attr('name', this.name)   // with the same name (watch out for duplicates!)
            .val($(this).val())        // and the same value
        );
    });
    $newForm
        .appendTo(document.body)  // not sure if this is needed?
        .submit()                 // submit the form
    ;
}

您需要創建一個腳本來收集表單中的數據,並將它們注入唯一可見的表單。 只提交一個表單,您不能提交多個表單。 您可以創建多個隱藏字段,也可以在該表單中構建單個隱藏字段,然后使用javascript從各種表單中收集所有數據,然后創建JSON字符串,設置隱藏字段的值,然后提交。

編輯:假設您有一個隱藏的輸入,如下所示:

<input type='hidden' name='hiddenfield' id='hiddenfield' />

你可以使用JQuery來做到這一點:

$('#hiddenfield').val('myvalue');

從其他形式獲取值就像調用$('#elementid')一樣簡單.val()

在表格提交之前。 要使用JQuery,請轉到jquery網站,下載庫並鏈接它(按照其安裝指南)。

您可以向該表單添加onsubmit,然后使用javascript收集其他值:

<input type="hidden" name="hidden1" id="hidden1" />
<input type="hidden" name="hidden2" id="hidden2" />
<script>
document.getElementById("the_form").onsubmit = function(){
    document.getElementById("hidden1").value = document.getElementById("other-field1").value;
    document.getElementById("hidden2").value = document.getElementById("other-field2").value;
};
</script>

將整個頁面包裝在表單標記中(如果可能),並使用服務器端代碼(使用Javascript)來處理業務規則驗證。

一種黑客解決方案,但它應該最小化Javascript“黑客”的必要性取決於你的技能水平與JavaScript。

暫無
暫無

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

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