Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单选按钮列表OnClick从文本区域触发,给出不同的检查结果_Javascript_Attributes_Onclick_Radio Button - Fatal编程技术网

Javascript 单选按钮列表OnClick从文本区域触发,给出不同的检查结果

Javascript 单选按钮列表OnClick从文本区域触发,给出不同的检查结果,javascript,attributes,onclick,radio-button,Javascript,Attributes,Onclick,Radio Button,当我单击单选按钮的文本时,OnClick将激发并显示当前选中的按钮。当我直接点击单选按钮时,它会激发并显示我刚刚点击的按钮。我希望文本或按钮的行为相同。有没有办法认识到这种差异 这是我的收音机按钮列表: Select Mode: <asp:RadioButtonList ID="RadBtnMode" runat="server" AutoPostBack="True" BackColor="#CCCCFF" BorderStyle="Groove" BorderWidth="3

当我单击单选按钮的文本时,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>
这就叫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>

函数ConfirmAdd(){
var radBtn=document.getElementsByName(“RadBtnMode”);
如果(radBtn[1]。已选中){
返回确认('切换到添加模式将清除所有数据!\r您确定吗?');
}
}
当我在单选按钮的圆圈内单击时,它会执行我想要的操作,并警告用户我将清除屏幕,因为他们正在切换到添加模式。当我点击“搜索”按钮的文本,“添加”是当前选择时,它认为“添加”要被选中,并显示警告。然后,它再次启动,并按预期运行

编辑以包含输出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>

添加
搜寻
编辑

在我看来,主要问题在于服务器端代码(确认实际上会询问用户是否要进入“添加模式”)。将onclick事件附加到表本身也可能是一个问题-这可能会导致在从一个单选按钮到下一个单选按钮的更改完成之前触发偶数


可能包括由于在两个单选按钮之间切换而发生的相关部分。

请使用输出(HTML),而不是您的C。是的,确认是关于进入“添加模式”。如果用户单击“取消”,则会阻止SelectedIndexChanged事件触发。这是我们想要的行为。当你点击文本时,它会在更改完成之前触发,这就是问题所在。我不知道我还会把onClick事件附加到什么上,所以我不理解您所指的“相关部分”。
<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>