簡體   English   中英

在傳遞到Flask應用之前編輯表單數據

[英]Editing form data before passing into flask app

我有以下燒瓶應用程序呈現的多選表格:

<form method="POST" action="">
    <label for="sports">Sports:</label>
    <select id="sports" name="sports" multiple>
        <option value="Basketball">Basketball</option>
        <option value="Football">Football</option>
        <option value="Baseball">Baseball</option>
        <option value="Golf">Golf</option>
        <option value="Soccer">Soccer</option>
    </select>
    <input type="submit" name="send" onclick="var selected_sports = project.getSelectedValues(document.querySelector('#sports'));">
</form>

我正在嘗試將列表形式的數據發送到服務器/ python代碼。

例如,如果選擇["Basketball", "Football", "Golf"] ,則列表為["Basketball", "Football", "Golf"] ,如果僅選擇["Basketball", "Football", "Golf"]則列表為["Football"]

我可以使用javascript(下面的代碼)創建列表,但不確定如何將創建的列表傳遞給服務器(服務器僅接收第一個選擇的選項)。

JS代碼以創建所選值的列表(單擊“提交”按鈕時以HTML形式調用):

project = {};

project.getSelectedValues = function (selectTag) {
    var result = [];
    var options = selectTag && selectTag.options;

    for (var = 0; i < options.length; i++) {
        if (options[i].selected) {
            result.push(options[i].value || options[i].text);
        }
    }
    return result;
}

服務器僅接收第一個選擇的選項

您可以正常提交<select id="sports" name="sports" multiple> (無需使用JS創建列表),並使用getlist()引用python代碼中所有選定的選項

sports = request.form.getlist('sports')

暫無
暫無

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

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