HTML 输入工作所需

Required for HTML inputs working

我正在开发一个 Flask 应用程序,我在某些 HTML 输入中有所需的标记,但它们似乎无法正常工作。

该应用程序的基础是基于 select 选项 selection,显示具有不同输入集的不同内容,同时隐藏其他内容。以下是一些代码,虽然我遗漏了很多代码,因为有很多,我觉得这就是所有相关的代码,但我可能是错的。目前一切正常,除了对某些 HTML 输入使用 "required"。可能是什么原因造成的?

HTML

<form id="observations" method="post" action="/Page" onsubmit="SubForm()">
  <div class="form-group row">
  *Some other inputs up here*
    <div class="form-group row" id="facts1" style="display:none;">
      <div class="form-group row" >
        <label class="col-sm-5 col-lg-5 col-md-5 form-control-label">fact_a* </label>
        <div class="col-sm-4 col-lg-4 col-md-4">
          <input class="form-control" name="fact_a" type="number" step="any" value= {{ fact_a }} required>
        </div>
      </div>
    </div>
   <div class="form-group row">
      <div class="col-sm-4 col-lg-4 col-md-4 col-xs-4 col-sm-offset-2 col-lg-offset-2 col-md-offset-2 col-xs-offset-2" >
         <input type="submit" name="submit" value="Submit" class="btn btn-success btn-lg">
       </div>
     </div>
</form>

关联的 Javascript 是:

 <!--  Shows different fields depending on which Facts type is input-->
     $('#myselect').on('change',function(){
    if( $(this).val()==="facts1"){
    $("#facts1").show()
    }
    else{
    $("#facts1").hide()
    }
    if( $(this).val()==="facts2"){
    $("#facts2").show()
    }
    else{
    $("#facts2").hide()
    }

function SubForm(){
         var facts1 = document.getElementById('facts1');
         var facts2 = document.getElementById('facts2');

        if (facts1.style.display == 'none') {
           // Get the parent of the facts1 node, then use it to remove its child facts1
           facts1.parentNode.removeChild(facts1);
        }
        if (facts2.style.display == 'none') {
           // Get the parent of the facts2 node, then use it to remove its child facts2
           facts2.parentNode.removeChild(facts2);
        }
     }

使用 subForm 函数,以便我的 HTML(未显示)中的另一个 div,facts2,如果未显示,则被删除,因此其输入不会提交给 Flask 和字典

其他相关信息:我在这个页面上有第二个表格,它也有一个类型为"submit"的输入,用于提交上传的csv文件,以便将csv文件的内容填充到我的 HTML 通过 jinga2 输入。

  1. 确保您使用的浏览器支持所需的标签。大多数都可以,但我体验过一些带有 Web 视图的 IDE 没有

  2. 这一行:

<input class="form-control" name="fact_a" type="number" step="any" value= {{ fact_a }} required>

呈现时,值需要用双引号引起来,因此它可能需要如下所示: <input class="form-control" name="fact_a" type="number" step="any" value="{{ fact_a }}" required>