获取错误未捕获的TypeError:无法将属性'value'设置为null

时间:2019-08-02 04:16:32

标签: javascript html

我收到此错误未捕获的TypeError:无法在->

上设置属性'value'为null

我的html是通过goSubmit()函数传递值的,

<form class="form-inline" id="formdaily" action="http://localhost:8080/reports/storewisedaily" method="POST">
          <div class="box">
            <div class="box-header">
              <h3 class="box-title">Total Paid Orders - Report Data</h3>
            </div>
            <!-- /.box-header -->
            <div class="box-body">
              <table id="datatables" class="table table-bordered table-striped">
                <thead>
                <tr>
                  <th>Month - Year</th>
                  <th>Amount</th>
                </tr>
                </thead>
                <tbody>

                                      <tr>
                      <td><a id="month_year" data-id="2019-01" onclick="goSubmit('2019-01')" href="#">2019-01</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-02" onclick="goSubmit('2019-02')" href="#">2019-02</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-03" onclick="goSubmit('2019-03')" href="#">2019-03</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-04" onclick="goSubmit('2019-04')" href="#">2019-04</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-05" onclick="goSubmit('2019-05')" href="#">2019-05</a></td>
                      <td>11,471.50</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-06" onclick="goSubmit('2019-06')" href="#">2019-06</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-07" onclick="goSubmit('2019-07')" href="#">2019-07</a></td>
                      <td>12.50</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-08" onclick="goSubmit('2019-08')" href="#">2019-08</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-09" onclick="goSubmit('2019-09')" href="#">2019-09</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-10" onclick="goSubmit('2019-10')" href="#">2019-10</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-11" onclick="goSubmit('2019-11')" href="#">2019-11</a></td>
                      <td>0.00</td>
                    </tr>
                                      <tr>
                      <td><a id="month_year" data-id="2019-12" onclick="goSubmit('2019-12')" href="#">2019-12</a></td>
                      <td>0.00</td>
                    </tr>
                                    <input type="hidden" id="select_month" name="select_month" value="">
                  <input type="hidden" id="select_store" name="select_store" value="3">
                </tbody>
                <tfoot align="right">
                  <tr><th></th><th></th></tr>
                </tfoot>
              </table>
            </div>
            <!-- /.box-body -->
          </div>
          <!-- /.box -->
          </form>

并且在函数中,我想将goSubmit()的值传递给名为“ select_month”的隐藏输入

  document.getElementById('select_month').value = m;

即使我对值进行硬编码,似乎也无法通过。有人可以帮我星期五和星期六

<input type="hidden" id="select_month" name="select_month" value="">

function goSubmit(month_year) {
        alert(month_year); // it pass value '2019-05'
        var m = month_year.toString();
        console.log(m);
        alert(m);
        //alert($('#select_month').val(m));
        document.getElementById('select_month').value = m;
        //alert(document.getElementById("select_month").value);
        //alert($('#select_month').val(month_year));
        //$("#select_store").val(3);
        document.getElementById('select_store').value = 3;
        document.getElementById('formdaily').submit();
      }

3 个答案:

答案 0 :(得分:0)

为什么您的案件不起作用

这是因为使用[wwl_]访问re.findall...)时不存在。您可以在检查DOM准备就绪或诸如此类之后进行操作。

还有其他方法可以解决所有这些问题。

pattern1 = r"\[.*?\]"
re.findall(pattern1, 'lll[hhh], sdhdjha[wwl_]')

注意:大写的elements元素必须是document.getElementById的直接子元素。

其他方式

按名称

document.getElementById("formdaily").children.namedItem("select_month").value = "1234"

通过查询选择器

select_month

通过表单元素

formdaily

答案 1 :(得分:0)

值是输入标签上存在的属性,因此请尝试一下。 document.getElementById("select_month").value = m

答案 2 :(得分:0)

我想我已经找到了错误。似乎javascript 无法将值传递给隐藏的输入。解决方案是我将输入隐藏为输入类型,然后onload我将隐藏select_month的输入类型。现在它将值传递给输入文本。