【问题标题】:Thymeleaf text disappear from buttons and drop-down items after submitting a form提交表单后,Thymeleaf 文本从按钮和下拉项中消失
【发布时间】:2020-10-08 20:26:29
【问题描述】:

在我点击提交之前,一切正常。在我在网站上提交表单后,页面会重新加载,并且 文本会从导航栏中的按钮和下拉项目中消失。我仍然可以点击它们,它们会做任何他们必须做的事情,但不再有文字,我不知道如何修复这个错误。我写了一个小脚本来防止页面重新加载,相信它有助于解决问题,但问题是一样的。我已经导入了可能是问题的引导程序和其他脚本。以前有人遇到过这个问题吗? 有什么想法?任何小的建议将不胜感激。

到目前为止我所做的尝试

  1. 使用javascript提交表单时防止页面重新加载
  2. 将导航栏放在另一个容器中
  3. 配置类:.antMatchers("/addUser").permitAll()

spring boot 代码中的控制器类

@PostMapping("/addUser")
    public String addUser(@ModelAttribute FormUser newUser) {
        
        formUserService.registerUser(newUser);
        
        return "index";
    }

javascript

let contact_forms = document.querySelector("#user-form-modal"); 
contact_forms.addEventListener("submit", function(ev) {
    ev.preventDefault();
});

index.html 中的表单

<form id="user-form-modal" action="" class="needs-validation" name="index" th:action="@{/addUser}" th:object="${formuser}" method="post">
    <div class="form-group">
        <label for="name">What's your name?</label>
        <input type="text" class="form-control" id="name" th:field="*{name}" placeholder="Name">
        <div class="invalid-feedback">Please fill out this field.</div>
    </div>
    <div class="form-group">
        <label for="email">What is your email?</label>
        <input type="text" class="form-control" id="email" th:field="*{email}" placeholder="Email">
        <div class="invalid-feedback">Please fill out this field.</div>
    </div>
    <button class="btn btn-primary" type="submit">Submit</button>
</form>

导航栏的css(例如)

.navbar {
    background: #302a34; /*for browsers that do not support  gradient.*/
    background: linear-gradient(#787878, #3c3c3c, #000000);
    display: flex;
    max-width: 100%;
    
}

.container {
    max-width: 100%
}

#more {display: none;
}

提交表单前(一切正常)

<li class="nav-item"><a class="nav-link"href="https://github.com/xyz"th:text="${references}" target="_blank">some text(!!!!!)</a></li>

表单提交后(无文字)

<li class="nav-item"><a class="nav-link"href="https://github.com/xyz"th:text="${references}" target="_blank"></a></li>

【问题讨论】:

    标签: javascript html css spring-boot thymeleaf


    【解决方案1】:

    拍了很多照片后,我意识到只有那些文字在我使用 Thymeleaf 的地方消失了。如果我将文本直接放入 html 代码中,那么在提交表单后一切都很好。所以我现在可以通过这种方式修复它,但如果我能在我的项目中继续使用 Thymeleaf,我会很高兴。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2018-03-26
      • 2020-06-21
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多