我有一个Sprinv MVC控制器,当我提交表单时,我返回相同的页面,但是有一些对象和一个名为hidden
的字符串,其值为False。当我提交表单时,我有一个window.onload
函数,该函数获取此字符串的值并检查其是否具有字符串值“ false”以显示3个隐藏但没有的div。
我正在努力解决问题所在,因为我尝试了很多事情。
这是我的HTML表单。
<form class="forms-sample" action="Buscar.do" method="POST" >
<div class="form-group">
<label>client:</label>
<input type="text" class="form-control" id="id" name="identificador" placeholder="DNI/NIF">
</div>
<button type="submit" class="btn btn-gradient-primary btn-gradient-aj mr-2">Obtenir Autoritzacions</button>
</form>
这是JavaScript代码。
<script>
window.onload = function showTable() {
var z = ${hidden}
if(z.localeCompare("false") == 0){
var x = document.getElementById("Prueba");
var x2 = document.getElementById("Prueba2");
var x3 = document.getElementById("Prueba3");
x.style.display = "block";
x2.style.display = "block";
x3.style.display = "block";
}
}
</script>
我用innerHTML
进行了检查,我得到的值是false,所以他们localeCompare应该执行If条件,我认为问题出在if中,因为我尝试了if并且它可以工作。另外我也没有发布divs Prueba / Prueba2 / Prueba3,因为它们并不重要,我的意思是它们可能只是文本。
已解决
我创建了一个隐藏的输入类型,MVC控制器返回该输入类型,并使用z = document.getElementById('form1').elements[1].value
通过javascript获取它。感谢@kemicofa的提示。
答案 0 :(得分:0)
我不熟悉Spring,但是从您的js代码中的语法来看,我假设它用$ {}替换了它们的Spring变量。我知道使用PHP或Handlebars,您需要自己提供引号,因此请尝试将$ {hidden}替换为“ $ {hidden}”。
答案 1 :(得分:0)
spring表达式需要用单引号引起来;
var z ='$ {hidden}';