簡體   English   中英

發布多個多重選擇框

[英]post multiple multi-select boxes

我有一個表格,用於創建整個星期的時間范圍。 現在,它是選擇星期幾,開始時間和結束時間。 我用javascript附加了這種相同形式的新分組,並且每個元素都用一個數組命名。

<label>Day Of Week:</label> <select name="dow[]" multiple="multiple" size="5"><option value="sun">sun</option><option value="mon">mon</option><option value="tue">tue</option><option value="wed">wed</option><option value="thu">thu</option><option value="fri">fri</option><option value="sat">sat</option></select><br />
<label>Start Time</label> Hour: <select name="starthour[]"><option value="0">12 AM</option><option value="1">1 AM</option><option value="2">2 AM</option><option value="3">3 AM</option><option value="4">4 AM</option><option value="5">5 AM</option><option value="6">6 AM</option><option value="7">7 AM</option><option value="8">8 AM</option><option value="9">9 AM</option><option value="10">10 AM</option><option value="11">11 AM</option><option value="12">12 PM</option><option value="13">1 PM</option><option value="14">2 PM</option><option value="15">3 PM</option><option value="16">4 PM</option><option value="17">5 PM</option><option value="18">6 PM</option><option value="19">7 PM</option><option value="20">8 PM</option><option value="21">9 PM</option><option value="22">10 PM</option><option value="23">11 PM</option></select>Minute: <select name="startmin[]"><option value="0">0</option><option value="15">15</option><option value="30">30</option><option value="45">45</option></select> <br /> 
<label>End Time</label> Hour: <select name="endhour[]"><option value="0">12 AM</option><option value="1">1 AM</option><option value="2">2 AM</option><option value="3">3 AM</option><option value="4">4 AM</option><option value="5">5 AM</option><option value="6">6 AM</option><option value="7">7 AM</option><option value="8">8 AM</option><option value="9">9 AM</option><option value="10">10 AM</option><option value="11">11 AM</option><option value="12">12 PM</option><option value="13">1 PM</option><option value="14">2 PM</option><option value="15">3 PM</option><option value="16">4 PM</option><option value="17">5 PM</option><option value="18">6 PM</option><option value="19">7 PM</option><option value="20">8 PM</option><option value="21">9 PM</option><option value="22">10 PM</option><option value="23">11 PM</option></select>Minute: <select name="endmin[]"><option value="0">0</option><option value="15">15</option><option value="30">30</option><option value="45">45</option></select> <br />

此表單是使用JavaScript生成的,因此可以提交多個規則。 除了多選框,其他所有東西都可以正常工作。

如果用戶在規則1中選擇了星期一和星期三,並且在規則2中選擇了星期二,則他們將合並到表單上的同一數組中。 因此,$ _ POST的轉儲將顯示:

Array ( [dow] => Array ( [0] => mon [1] => wed [2] => tue ) [starthour] => Array ( [0] => 0 [1] => 15 ) [startmin] => Array ( [0] => 0 [1] => 0 ) [endhour] => Array ( [0] => 5 [1] => 17 ) [endmin] => Array ( [0] => 0 [1] => 0 ) [do] => add [act] => scheduler [mod] => availability [avtype] => perm )

我無法確定dow中的數據來自哪個規則。 我不相信我在做任何外在的錯誤。 目前,我唯一的解決方法是只允許選擇一天。 但是,人們通常在幾天之內有相同的時間。 如果可能的話,最好包含此功能。

在您的JavaScript中,用ID唯一地命名每個表單-如果存在多個表單,則可以使用該表單,但這可能不是最佳解決方案。

也許最好的辦法是在您的JavaScript表單生成中添加var i; name = i +“ dow []”,因此您可以識別各個表單元素。 我不認為您可以區分具有相同名稱的同一表單上的表單元素,至少在張貼時不區分。 您可以使用javascript pre-post遍歷這些元素,並在post上分配唯一的標識符。

我會用這種方式..對於每個規則,我都會獲得一個時間戳,並且生成的表單中的select元素將如下所示。

    select name="dow[timestamp][]" ...     

因此您的所有規則現在將具有唯一的數組。

您可以使用以下代碼獲取時間戳。

function microtime (get_as_float) 
{
    var now = new Date().getTime();
    return now;
}

暫無
暫無

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

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