<button onclick="sendData('on')">开灯</button> <button onclick="sendData('off')">关灯</button> <script> function sendData(status) { var xhr = new XMLHttpRequest(); xhr.open("GET", "http://192.168.1.100/led?status=" + status, true); xhr.send(); } </script>和<form action="http://192.168.1.100/led" method="POST"> <input type="hidden" name="status" value="on"> <button type="submit">开灯</button> </form>有什么不同
时间: 2023-07-19 13:25:06 浏览: 122
这两段代码实现的功能都是控制 ESP8266 板上的 LED 灯,但是使用的方法不同。
第一段代码使用了 XMLHttpRequest 对象来发送 HTTP GET 请求,请求的 URL 中传递了 LED 灯的控制命令。这种方式不需要使用表单,可以直接通过 JavaScript 代码来控制 LED 灯。
第二段代码使用了表单来提交数据,表单中包含了一个隐藏域 `<input type="hidden">` 用来存储 LED 灯的控制命令。当用户点击提交按钮时,表单会自动将数据发送到服务器。这种方式需要使用表单,比较适合需要用户输入数据或提交表单数据的场景。
总的来说,这两种方式都可以实现控制 LED 灯的功能,但是具体使用哪种方式需要根据实际需求来选择。如果只需要简单地控制 LED 灯,可以使用第一种方式;如果需要用户输入数据或提交表单数据,可以使用第二种方式。
相关问题
<button onclick="sendData('on')">开灯</button>按键控件不是应该放在form中吗?
按键控件 `<button>` 并不一定要放在 `<form>` 中,它可以单独使用,也可以和表单一起使用。在控制 ESP8266 板上的 LED 灯这个场景下,我们只需要通过点击按钮来向服务器发送请求,不需要提交表单数据,所以不需要使用 `<form>` 标签。
当需要使用表单来提交数据时,我们可以将按钮放在表单中,例如:
```html
<form action="http://192.168.1.100/led" method="POST">
<input type="hidden" name="status" value="on">
<button type="submit">开灯</button>
</form>
```
在这个表单中,我们使用了一个隐藏域 `<input type="hidden">` 来存储 LED 灯的控制命令,当用户点击提交按钮时,表单会自动将数据发送到服务器。这种方式在需要提交表单数据时比较常见。
<label for="number1">操作数1:</label><input type="text" id="number1"><br><label for="number2">操作数2:</label><input type="text" id="number2"><br><label for="operator">运算符:</label><select id="operator"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option></select><br><button onclick="calculate()">计算</button><br><label for="result">计算结果:</label><span id="result"></span>把这段代码换成inpu类型
这段代码中有多个元素,需要分别替换。以下是替换后的代码:
```
<label for="number1">操作数1:</label><input type="text" id="number1"><br>
<label for="number2">操作数2:</label><input type="text" id="number2"><br>
<label for="operator">运算符:</label>
<input list="operators" id="operator">
<datalist id="operators">
<option value="+">
<option value="-">
<option value="*">
<option value="/">
</datalist>
<br>
<button onclick="calculate()">计算</button><br>
<label for="result">计算结果:</label><span id="result"></span>
```
其中,运算符这一行使用了 datalist 标签,将选项列表嵌入到输入框中,实现了类似 select 标签的效果。
注意,以上代码只是将 HTML 代码替换为了 input 类型,如果需要使其正常运行,还需要对 JavaScript 代码进行修改。
阅读全文