Javascript “指定值”;IN072“;不是有效的数字。该值必须与以下正则表达式匹配:-?

Javascript “指定值”;IN072“;不是有效的数字。该值必须与以下正则表达式匹配:-?,javascript,html,django-templates,Javascript,Html,Django Templates,我正在尝试使用以下代码自动填充django模板中的条目: var pq1 = document.getElementById("q1").textContent; var p1 = document.getElementById("p1").textContent; document.getElementById("id_product1_quantity").value = (Math.ceil(x / r) * pq1); document.getElemen

我正在尝试使用以下代码自动填充django模板中的条目:

    var pq1 = document.getElementById("q1").textContent;
    var p1 = document.getElementById("p1").textContent;
    document.getElementById("id_product1_quantity").value = (Math.ceil(x / r) * pq1);
    document.getElementById("id_product1").value = p1;
其中,id\u product1\u数量填写正确,但id\u product1抛出以下错误:

指定的值“IN072”不是有效的数字。该值必须 匹配到以下正则表达式: -(\d++\d+。\d++.\d+)([eE][-+]?\d+)


我如何解决这个问题以及为什么会发生这种情况?

您需要传递一个有效的数字。IN072不是一个数字。您可以通过使用正则表达式仅从字符串中获取数字或更改输入的工作方式来解决此问题。@Glenvanacker实际上p1由一个字符串组成,如何将字符串传递到
id\u product1
?该元素是什么样的?它是数字的输入字段吗?然后你必须把它解析成一个数字。如果是一个字符串,那么一开始应该没有问题。我的错误是,我不小心把它作为数字的输入字段。。将其更改为字符,现在可以使用了