javascript - 如何获取每个表单javascript的值?
问题描述
我只得到第一个表单值,但当我按下按钮时没有显示第二个表单值
这是我尝试过的代码:
<form>
<input id="${childSnapshot.val().userID}" list="browsers">
<datalist id="browsers">
<option value="Order Pending">
<option value="Order Confirmed">
<option value="Order Shipped">
<option value="Order Delivered">
</datalist>
<input id="${childSnapshot.val().orderid}" value="${childSnapshot.val().userID}"></input>
<button id="button" type="button" style="padding: 1px" data-order-id="${childSnapshot.val().orderid}">Update</button>
</form>
<form>
<input id="${childSnapshot.val().userID}" list="browsers">
<datalist id="browsers">
<option value="Order Pending">
<option value="Order Confirmed">
<option value="Order Shipped">
<option value="Order Delivered">
</datalist>
<input id="${childSnapshot.val().orderid}" value="${childSnapshot.val().userID}"></input>
<button id="button" type="button" style="padding: 1px" data-order-id="${childSnapshot.val().orderid}">Update</button>
</form>
<script>
const button = document.getElementById('button');
const onClickHandler = (e) => {
const orderID = e.target.dataset.orderId;
const userID = document.getElementById(orderID).value;
const optionValue = document.getElementById(userID).value;
console.log(userID + ' ' + orderID + ' ' + optionValue);
}
button.addEventListener('click', onClickHandler);
</script>
单击自己的按钮时如何获取所有表单值?
解决方案
让我们为每个表单的输入使用唯一的 id。类似于下面的演示代码片段:
<form>
<input id="form1 + ${childSnapshot.val().userID}" list="browsers">
<datalist id="browsers">
<option value="Order Pending">
<option value="Order Confirmed">
<option value="Order Shipped">
<option value="Order Delivered">
</datalist>
<input id="form1 + ${childSnapshot.val().orderid}" value="${childSnapshot.val().userID}">
</input>
<button id="button" type="button" style="padding: 1px"
data-order-id="form1 + ${childSnapshot.val().orderid}">Update</button>
</form>
<form>
<input id="form2 + ${childSnapshot.val().userID}" list="browsers">
<datalist id="browsers">
<option value="Order Pending">
<option value="Order Confirmed">
<option value="Order Shipped">
<option value="Order Delivered">
</datalist>
<input id="form2 + ${childSnapshot.val().orderid}" value="${childSnapshot.val().userID}"></input>
<button id="button" type="button" style="padding: 1px" data-order-id="form2 + ${childSnapshot.val().orderid}">Update</button>
</form>
<script>
const button = document.getElementById('button');
const onClickHandler = (e) => {
const orderID = e.target.dataset.orderId;
const userID = document.getElementById(orderID).value;
const optionValue = document.getElementById(userID).value;
console.log(userID + ' ' + orderID + ' ' + optionValue);
}
button.addEventListener('click', onClickHandler);
</script>
推荐阅读
- visual-studio-code - 如何正确声明不带参数的 GraphQL 查询。
- nlog - 如果当前文件被锁定,NLog 是否可以创建新的目标文件?
- python - selenium.webdriver.firefox.options - 它是关于什么的?
- sql - 使用表进行替换
- c# - 如何从 Firebase 下载数据?
- oracle - Oracle 全局临时表留下空表
- javascript - 整理和多个事件监听器
- javascript - Javascript Regex:匹配任何不是空白字符的非单词字符
- php - 防止没有输入的mysql查询
- kotlin - 如何有效地从 Kotlin 中的集合(Top N)中获取 N 个最低值?