Когда я нажимаю на текст переключателя, OnClick срабатывает и показывает выбранную в данный момент кнопку как ПРОВЕРЕНО. Когда я нажимаю прямо на кнопку радио, она срабатывает и показывает кнопку, которую я только что нажал как ПРОВЕРЕНО. Я ожидаю, что текст или кнопка будут действовать так же. Есть ли способ распознать эту разницу?
Вот список моих радионов:
Select Mode:
<asp:RadioButtonList ID="RadBtnMode" runat="server" AutoPostBack="True"
BackColor="#CCCCFF" BorderStyle="Groove" BorderWidth="3px" Width="130px"
Height="16px" RepeatDirection="Horizontal" cssClass="radioWrap">
<asp:ListItem Enabled="False" Selected="True">Add</asp:ListItem>
<asp:ListItem Enabled="False" Value="Search">Search</asp:ListItem>
<asp:ListItem Enabled="False">Edit</asp:ListItem>
</asp:RadioButtonList>
Во время загрузки страницы я включаю кнопки в зависимости от пользователя и настраиваю это окно подтверждения:
RadBtnMode.Attributes.Add("onclick", "return ConfirmAdd()")
Который называет это Java
<script type="text/javascript" language="javascript">
function ConfirmAdd() {
var radBtn = document.getElementsByName("RadBtnMode");
if (radBtn[1].checked) {
return confirm('Switching to Add Mode will clear all data!\rAre you sure you?');
}
}
</script>
Когда я нажимаю в пределах круга переключателей, он делает то, что я хочу, и предупреждает пользователя, что я очищу экран, потому что он переключается в режим добавления. Когда я нажимаю на текст кнопки «Поиск» и «Добавить» является текущим выбором, он считает «Добавить» проверяемым и выдает предупреждение. Затем он запускается во второй раз и работает как ожидалось.
Отредактировано для включения вывода HTML
<table id="RadBtnMode" class="radioWrap" onclick="return ConfirmAdd()" border="0" style="background-color:#CCCCFF;border-width:3px;border-style:Groove;height:16px;width:130px;">
<tr>
<td><input id="RadBtnMode_0" type="radio" name="RadBtnMode" value="Add" checked="checked" /><label for="RadBtnMode_0">Add</label></td>
<td><input id="RadBtnMode_1" type="radio" name="RadBtnMode" value="Search" onclick="javascript:setTimeout('__doPostBack(\'RadBtnMode$1\',\'\')', 0)" /><label for="RadBtnMode_1">Search</label></td>
<td><span disabled="disabled">
<input id="RadBtnMode_2" type="radio" name="RadBtnMode" value="Edit" disabled="disabled" onclick="javascript:setTimeout('__doPostBack(\'RadBtnMode$2\',\'\')', 0)" /><label for="RadBtnMode_2">Edit</label></span></td>
</tr>
</table>