1
У меня есть код ниже.Радиокнопки и флажки javascript
2 переключателя, которые позволяют + пометить свои флажки, если они выбраны, и отключить + отключить их, когда нажата другая кнопка.
Код работает нормально как HTA, но не работает должным образом как HTML. Зная, что окончательное приложение будет HTA, мне нужно беспокоиться о том, что код не работает полностью в HTML?
Большое спасибо.
<table border=1>
<tr>
<td>
<form name="phaseform" action=""><font size=2>
<input type="radio" name="phase" value="1" id="phase" onclick="checkbox(0)" />
<label for="phase1">Phase 1</label>
</td>
<td><font size=2>
<input type="radio" name="phase" value="2" id="phase" onclick="checkbox(1)" />
<label for="phase2">Phase 2 (after 17 days)</label>
</td>
</tr>
<tr>
<td><font size=2>
<input type="checkbox" disabled id="TerminateP1" name="TerminateP1" value="IN">Terminate AD account<br>
<input type="checkbox" disabled id="MailboxAccessP1" name="MailboxAccessP1" value="IN">Grant mailbox access to manager<br>
</td>
<td><font size=2>
<input type="checkbox" disabled id="TerminateP2" name="TerminateP2" value="IN">Fully terminate AD account<br>
<input type="checkbox" disabled id="DisableMailboxP2" name="DisableMailboxP2" value="IN">Disable mailbox<br>
</td>
</tr>
</form>
<script type="text/javascript">
function checkbox(val)
{
document.phaseform.TerminateP1.setAttribute("disabled",1)
document.phaseform.MailboxAccessP1.setAttribute("disabled",1)
document.phaseform.TerminateP2.setAttribute("disabled",1)
document.phaseform.DisableMailboxP2.setAttribute("disabled",1)
document.phaseform.TerminateP1.setAttribute("checked",0)
document.phaseform.MailboxAccessP1.setAttribute("checked",0)
document.phaseform.TerminateP2.setAttribute("checked",0)
document.phaseform.DisableMailboxP2.setAttribute("checked",0)
if(val)
{
document.phaseform.TerminateP2.removeAttribute("disabled",val)
document.phaseform.DisableMailboxP2.removeAttribute("disabled",val)
document.phaseform.TerminateP2.setAttribute("checked",1)
document.phaseform.DisableMailboxP2.setAttribute("checked",1)
}
else
{
document.phaseform.TerminateP1.removeAttribute("disabled",val)
document.phaseform.MailboxAccessP1.removeAttribute("disabled",val)
document.phaseform.TerminateP1.setAttribute("checked",1)
document.phaseform.MailboxAccessP1.setAttribute("checked",1)
}
}
</script>
Спасибо. Короче и делает работу! Однако мне трудно понять это. Не совсем уверен, как эти восклицательные знаки работают там. Еще раз спасибо! – AdrianM
Aha! ..... !! val = false, когда опция переключателя 1 ... и !! val = true, когда переключатель 2 ... удивительный ... Я начинаю любить javascript ... – AdrianM
@ AdrianM работает с использованием правдоподобных и фальшивых значений ... один '!' Будет отрицать истинность/ложность второго, который отрицает отрицание .... т. Е. Когда 'val =' '! Val' выдаст false, потому что' 1' является значение правды и '!! val' даст' true' –