簡體   English   中英

連接HTML格式的用戶輸入並為其分配ID,以便使用JavaScript提交

[英]Concatenate user input in Html form and assigning an ID to it, in order to submit in JavaScript

每個人,我都是JavaScript和Html的新手,我正在嘗試以html形式連接用戶輸入並提供ID並提交,以便將命令提供給我的控制器以采取相應的行動。

這基本上是為端口1設置時間表,命令類似於[NORMAL 122(STARTTIMESTOPTIME DAYSESSION),我尚未包含會話。

function Port1_sch_On_off(){
        if(connected_flag==1){
            client.subscribe("lazy/test");
            message = new Paho.MQTT.Message("NORMAL 122 + document.getElementById('port1_timeday'.value)");
            message.destinationName = "lazy/test";
            client.send(message);
            }
            else {
                console.log("not connected")
            }
        return false;   
    }

<tr height=40>
        <td><style="text-align:middle">PORT1_SCH_ON_OFF</td>
        <td width=40></td>
        <td><form id="port1_timeday" oninput="port1_timeday.value = start_time.valueAsNumber start_day.valueAsNumber stop_time.valueAsNumber stop_day ">
            <input name="start_time" id="start_time" type="time" min="00:00" max="24:00" required/> 
            <span class="hours"></span> 
            <label for="start_day">Day:</label> 
            <select name="start_day" id="start_day"> 
                <option value="1">MON</option>
                <option value="2">TUES</option>
                <option value="3">WED</option>
                <option value="4">THRUS</option>
                <option value="5">FRI</option>
                <option value="6">SAT</option>
                <option value="0">SUN</option>
            </select>           
            </label>
            <input name="stop_time" id="stop_time" type="time" min="00:00" max="24:00" required/> 
            <label for="stop_day">Day:</label> 
            <select name="stop_day" id="stop_day"> 
                <option value="1">MON</option>
                <option value="2">TUES</option>
                <option value="3">WED</option>
                <option value="4">THRUS</option>
                <option value="5">FRI</option>
                <option value="6">SAT</option>
                <option value="0">SUN</option>
            </select>
            </label>
            <output name="port1_timeday" for="start_time start_day stop_time stop_day"></output></td>
            <input type="button" onclick="Port1_sch_On_off()" value="Port1_timeday">
            </form>
    </tr>
    </table>

而且我還必須為尚未開始的事件添加事件監聽器。

這是在javascript中串聯的兩種主要方法:

使用+運算符:

message = new Paho.MQTT.Message("NORMAL 122 " + document.getElementById('port1_timeday'.value));

要么

使用字符串插值:

message = new Paho.MQTT.Message(`NORMAL 122 + ${document.getElementById('port1_timeday'.value)}`);

我希望這能回答您的問題:D

編輯1:

此函數將返回您的用戶輸入,例如“ STARTDAYSTARTTIMESTOPTIMESTOPDAY”,您可以對其進行修改以按任意順序返回值:

function cancat_day_time() {
    start_time = document.getElementById("start_time").value;
    start_day = document.getElementById("start_day").value;
    stop_time = document.getElementById("stop_time").value;
    stop_day = document.getElementById("stop_day").value;

    return `${start_day}${start_time}${stop_day}${stop_time}`; 
}

然后可以在函數Port1_sch_On_off()中使用它,如下所示:

function Port1_sch_On_off() {
    if (connected_flag == 1) {
        client.subscribe("lazy/test");
        message = new Paho.MQTT.Message("NORMAL 122 " + cancat_day_time());
        message.destinationName = "lazy/test";
        client.send(message);
    } else {
        console.log("not connected")
    }
    return false;
}

編輯2:

這是對我有用的HTML代碼:

<tr height=40>
    <td></td>
    <td width=40></td>
    <td>
        <form id="port1_timeday" oninput="">
            <input name="start_time" id="start_time" type="time" min="00:00" max="24:00" required/>
            <span class="hours"></span>
            <label for="start_day">Day:</label>
            <select name="start_day" id="start_day">
                <option value="1">MON</option>
                <option value="2">TUES</option>
                <option value="3">WED</option>
                <option value="4">THRUS</option>
                <option value="5">FRI</option>
                <option value="6">SAT</option>
                <option value="0">SUN</option>
            </select>
            </label>
            <input name="stop_time" id="stop_time" type="time" min="00:00" max="24:00" required/>
            <label for="stop_day">Day:</label>
            <select name="stop_day" id="stop_day">
                <option value="1">MON</option>
                <option value="2">TUES</option>
                <option value="3">WED</option>
                <option value="4">THRUS</option>
                <option value="5">FRI</option>
                <option value="6">SAT</option>
                <option value="0">SUN</option>
            </select>
            </label>
    </td>
    <input type="button" onclick="Port1_sch_On_off()" value="Port1_timeday">
    </form>
</tr>

暫無
暫無

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

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