我的代码中有一些输入字段需要根据单击哪个复选框来启用或禁用。在我添加th:field部分以将字段的值存储在th:object中之前,它一直运行良好。现在我的JavaScript不起作用,因此这些字段始终保持禁用状态。
这是我的html文件中的字段之一:
<div class="form-group form-inline form-xtra required">
<label>Texto mensaje:</label>
<div class="form-item">
<textarea cols="200" name="seleccionExcel" class="user-form-control
input-md" th:field="*{mensaje}" id="textoExcel" disabled="disabled">
</textarea>
</div>
</div>
这是JavaScript文件:
$(function() {
$(".introducirManual").click(function(){
$('input[name="seleccionManual"]').prop('disabled', false);
$('textarea[name="seleccionManual"]').prop('disabled', false);
$('input[name="seleccionExcel"]').prop('disabled', true);
$('input[name="seleccionExcel"]').val('');
$('textarea[name="seleccionExcel"]').prop('disabled', true);
$('textarea[name="seleccionExcel"]').val('');
});
$(".introducirExcel").click(function(){
$('input[name="seleccionExcel"]').prop('disabled', false);
$('textarea[name="seleccionExcel"]').prop('disabled', false);
$('input[name="seleccionManual"]').prop('disabled', true);
$('input[name="seleccionManual"]').val('');
$('textarea[name="seleccionManual"]').prop('disabled', true);
$('textarea[name="seleccionManual"]').val('');
$('input[id="numLibreta"]').val('');
});
});
如果我删除
th:field =“ * {mensaje}”
,脚本再次正常运行。
使用Thymeleaf时,是否应该更改引用JavaScript文件中字段的方式?
最佳答案
如下更改文本区域名称,
$('textarea[name="mensaje"]').prop('disabled', true);
属性th:field将替换输入标签中的属性值和名称。
<textarea cols="200" name="seleccionExcel" class="user-form-control input-md" th:field="*{mensaje}" id="textoExcel" disabled="disabled"> </textarea>
上面的代码行类似于:
<textarea cols="200" name="mensaje" class="user-form-control input-md" id="textoExcel" disabled="disabled"> </textarea>