2011-08-08 7 views
0

ラジオボタンのテキストをクリックするとOnClickが発生し、現在選択されているボタンがCHECKEDと表示されます。ラジオボタンを直接クリックすると、それが起動し、ちょうどCHECKEDとしてクリックされたボタンが表示されます。私は、テキストやボタンが同じように動作することを期待します。この違いを認識する方法はありますか?ここで ラジオボタンリスト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> 

ラジオボタンの円内をクリックすると、私が欲しいものを行い、あなたに警告します彼らはAddモードに切り替わっているので、私は画面をクリアします。 「検索」ボタンのテキストをクリックして「追加」が選択されている場合は、「追加」が「チェック」とみなされ、警告が表示されます。その後、2回目を起動し、期待どおりに機能します。出力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> 
+0

あなたのC# –

答えて

0

を含むように

編集これは、主な問題は、(彼は「モードを追加」入力したい場合は、確認が実際にユーザーに尋ねる)サーバー側のコードであるように私には見えます。また、テーブル自体にonclickイベントを添付することで問題になる可能性があります。これにより、ラジオボタンから次のラジオボタンへの変更が完了する前に、イベントが発生する可能性があります。

2つのラジオボタンを切り替えることで何が起こるかの関連部分が含まれることがあります。

+0

ではなくOUTPUT(HTML)を使用してください。はい、「追加モード」を入力することです。ユーザーが[キャンセル]をクリックすると、SelectedIndexChangedイベントが発生しなくなります。それが望ましい動作です。テキストをクリックすると変更が完了する前に発砲している、それが問題です。私はonClickイベントをアタッチすることが他に何であるか分かりませんので、あなたが参照している「関連する部分」を理解していません。 –

関連する問題