我有一个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
检查并且Im得到的值是假的,所以他们localeCompare应该做If条件,我认为问题是在if,因为我试过没有if,它工作 . 我也没有发布div Prueba / Prueba2 / Prueba3,因为它们并不重要,我的意思是它们可能只是一个文本 .
SOLVED 我创建了一个隐藏的输入类型,MVC控制器返回并通过javascript与 z = document.getElementById('form1').elements[1].value
获取它 . 感谢@kemicofa提示 .
1 回答
我不熟悉Spring,但是根据你的js代码中的语法,我假设用Spring变量替换$ {}的东西 . 我知道使用PHP或Handlebars,您需要自己提供引号,因此请尝试将$ 替换为“$ ” .