Мне нужно обновить атрибут в formBean
, который является частью ArrayList
в formBean
, когда пользователь устанавливает или снимает флажок с флажка.
Значение атрибута по умолчанию установлено в "on"
в formBean
перед загрузкой страницы.
Когда пользователь снимает отметку Я пытаюсь сделать значение равным "off"
.
Я могу увидеть, что значение изменилось на "off"
с помощью отладчика firebug, но при отправке значение объекта формы всегда остается "on"
.
Мой код JSP ниже. Пожалуйста, дайте мне знать, если я неправильно устанавливаю значение.
Приложение Struts
Логика отображения в JSP:
<input type="checkbox"
name="importedFiles[<c:out value='${stts.count - 1}'/>].importEnabled"
id="importedFiles[<c:out value='${stts.count - 1}'/>].importEnabled"
onClick="replicateCheckbothis, <c:out value='${stts.count - 1}'/> )"
<c:if test="${importedFiles.importEnabled != null}">checked</c:if> />
Мы пытаемся изменить значение importEnabled
, которое является частью arrayList importedFiles
в maintainDownloadForm
во время отправки через JS. Пожалуйста, найдите ниже используемую логику:
function checkSelectedAndImport()
{
var anyClicked = "none";
for(var i = 0; i < <c:out value='${maintainDownloadForm.importedFileLength}' />; i++)
{
var element = document.getElementById("importedFiles[" + i + "].importEnabled");
if(element != null)
{
if(element.checked)
{
anyClicked = "true";
element.setAttribute('value', 'on'); alert('Selected--->'+element.getAttribute('value'));
}
else
{
element.setAttribute('value', 'off');
alert('Not Selected--->'+document.getElementById("importedFiles[" + i + "].importEnabled").value);
}
}
}
if(anyClicked != "none")
{
submitDGForm(getVMWareForm(),'saveImport');
}
else
{
alert("No rows have been selected for import. Please select data to import. To cancel the import, click on cancel.");
}
}
В приведенной выше логике мы можем перейти в цикл else
, когда пользователь снимает флажок и печатает alert
, как и ожидалось, но то же самое не обновляется с атрибутом формы importEnabled
, поскольку он всегда остается "on"
, как это было до загрузки страницы.
Пожалуйста, дайте мне знать, если есть какие-либо проблемы с логикой кодирования, а также исправить то же самое, так как это было бы очень полезно.