javascript - 使用 Javascript 提取唯一元素 ID

标签 javascript html forms

好的,所以我有一个表单,它将一个项目添加到项目列表中并用它进行计算,但是添加的每个新项目都是在用户端完成的,然后提交到服务器进行验证和更新数据库。现在,我查看了其他答案,但无法真正得到答案。如果用户添加一个新商品并输入数量和费率,它应该自动计算金额,如何提取唯一 ID 标识符来更改金额值?下面的代码,在本例中,唯一标识符是 19786868。该标识符的长度总是不同的,并且它们没有唯一的模式,长度和值是由随机命令生成的。

<input class="form-control" type="text" id="list_item_attributes_19786868_quantity" />
<input class="form-control" type="text" id="list_item_attributes_19786868_rate" />
<input class="form-control" type="text" id="list_item_attributes_19786868_amount" />

如何使用 JavaScript 中的 OnChange 命令提取此唯一标识符来计算金额值?

最佳答案

[].forEach.call(document.querySelectorAll(".form-control"), function(el) {

  var id = el.id.replace(/\D+/g,"");
  console.log( id );       // "19786868"

});

所以基本上使用 this.id.replace(/\D+/g,"") ,其中所有非数字 \D 都被 ""替换

这是一个使用input事件的示例:

[].forEach.call(document.querySelectorAll(".form-control"), function(el) {

  el.addEventListener("input", function() {
    var id = this.id.replace(/\D+/g,"");
    alert( id );
  }, false)

});
<input class="form-control" type="text" id="list_item_attributes_19786868_quantity" />
<input class="form-control" type="text" id="list_item_attributes_123_foobar" />

请注意:asd_123_foo_9 将返回 1239 作为结果,因此请确保始终将 asd_123_foo 作为 ID

关于javascript - 使用 Javascript 提取唯一元素 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37242380/

相关文章:

javascript - 如何查看提交表单的 url 输出?

javascript - Marketo 隐藏字段更新

javascript - SAPUI5 使用来自 XMII 的 OData 填充 SmartTable

javascript - 在带有 ImageMapster 的区域中使用 JavaScript FOR

html - 图片适合父 div 的大小

html - 我无法在 bootstrap 4 中设置超大屏幕背景图片

javascript - YouTube JavaScript API - 无需在手机上创建 Iframe 即可播放视频?

javascript - 如何在 javascript 中获取 int 变量以输入 java 方法

javascript - AngularJS,如何在 select > options 上使用 min =""来验证表单?

forms - 使用参数提交表单到操作,Asp.Net.Core Mvc