Javascript jsp保留复选框值,除非有更改
我在我的jsp页面上有一个复选框,我可以选中/取消选中它,通过onchange javascript函数,在单击save按钮后,它将相应地更新。目前的问题是,它总是会检查选中的值是什么(因此,即使我没有单击复选框,选中的值也是0,当我再次单击“保存”按钮而不触摸复选框时,它会认为应该取消选中复选框,因为选中的值是0。)我不希望对复选框值进行任何更改,除非复选框的值不同 以下是我目前的情况:Javascript jsp保留复选框值,除非有更改,javascript,jsp,Javascript,Jsp,我在我的jsp页面上有一个复选框,我可以选中/取消选中它,通过onchange javascript函数,在单击save按钮后,它将相应地更新。目前的问题是,它总是会检查选中的值是什么(因此,即使我没有单击复选框,选中的值也是0,当我再次单击“保存”按钮而不触摸复选框时,它会认为应该取消选中复选框,因为选中的值是0。)我不希望对复选框值进行任何更改,除非复选框的值不同 以下是我目前的情况: <input type="checkbox" name="CompletedCheck${count
<input type="checkbox" name="CompletedCheck${count}" tabindex="40" id="CompletedCheck${count}" title="Complete" onchange="checkedFields(${count})" Checked/>
<input type="hidden" name="Completed${count}" value="">
function checkedFields(count) {
var checkedFieldID = document.getElementById('CompletedCheck'+count).checked;
var completeFieldToSubmit = "Completed"+count;
if (checkedFieldID==false)
{
document.getElementById(completeFieldToSubmit).value =0;
}
if(checkedFieldID==true)
{
document.getElementById(completeFieldToSubmit).value= 1;
}
}
函数检查字段(计数){
var checkedFieldID=document.getElementById('CompletedCheck'+count)。选中;
var completeFieldToSubmit=“Completed”+计数;
if(checkedFieldID==false)
{
document.getElementById(completeFieldToSubmit).value=0;
}
如果(checkedFieldID==true)
{
document.getElementById(completeFieldToSubmit).value=1;
}
}
无法理解您在这里到底想要完成什么?“我不想对复选框值进行任何更改,除非复选框的值不同”,这是什么意思?如果你勾选了复选框,它就被勾选了。如果勾选了复选框,这是一种多么奇怪的检查方式。隐藏的输入和JavaScript真的有必要吗?为什么不检查request.getParameter(“CompletedCheck”+count)
是否返回非null(=checked)或null(=unchecked)?因此,问题在于,onchange命令将检查checkFieldID变量,如果未选中该复选框,则该变量为false;如果选中该复选框,则该变量为true,而与当前是否选中该复选框无关。因此,如果当前选中了复选框,但用户没有触摸任何东西,只是点击了save,那么checkFieldID将为false,并且它将复选框设置为unchecked,这不是我想要的。如果之前选中了复选框,则该复选框应保持选中状态,除非用户专门将该复选框设置为未选中。为什么会为false?选中复选框后,var checkedFieldID=document.getElementById('CompletedCheck'+count)。选中代码>将其设置为true。是吗?是的,问题似乎在别处,可能与保存按钮有关。我将进一步调查此事