【发布时间】:2021-11-19 10:33:17
【问题描述】:
我有一些动态生成的输入字段。 我想在单击按钮时获取输入字段中输入的文本。
e.value的控制台日志是:
NodeList [input.criteria-box]
0: input.criteria-box
长度:1
想要的是获取输入字段的值。
const criteria_elems = document.getElementsByName('criteria-field');
criteria_elems.forEach((e) => {
console.log(e.value); // Property 'value' does not exist on type 'HTMLElement'.ts(2339)
})
<input type="text" class="criteria-box" name="criteria-field" placeholder="Enter Criteria" required /><br>
<input type="text" class="criteria-box" name="criteria-field" placeholder="Enter Criteria" required /><br>
<input type="text" class="criteria-box" name="criteria-field" placeholder="Enter Criteria" required /><br>
<input type="text" class="criteria-box" name="criteria-field" placeholder="Enter Criteria" required /><br>
<input type="text" class="criteria-box" name="criteria-field" placeholder="Enter Criteria" required />
首先生成输入字段,然后用户可以在这些字段中输入数据并单击按钮。
此时每个字段中输入的数据将使用某种循环逻辑左右来获取。 关于如何在循环中获取值的任何想法?
【问题讨论】:
-
你什么时候执行上面的代码?您需要在用户有机会用一些值填充字段之后执行此操作,目前看起来您正在执行此操作之前/就在页面加载时...?
-
实际上您的代码运行良好,只需注意 CBroe 提到的,您需要在加载输入并填充一些值后调用此代码。但是,问题是:为什么不使用 Reactive Forms 或 ngModel?如果应用程序是使用 Angular 实现的(如您的标签所建议的那样),这将是更标准的方式。
标签: javascript html angular typescript