webForumDet fria alternativet

Client side event på radiobutton

.NET

3 svar · 513 visningar · startad av invecklaren

Medlem sedan jan. 2008280 inlägg
Frågan#1

Hej!

Jag har en gridview som innehåller en radiobutton. När användaren checkar denna skulle jag vilja skriva ett värde till en annan kontroll via javascript. Alltså inga postbacks inblandade. Men detta får jag icke att fungera.

Problem 1 är att det inte finns någon OnClientCheckedChange. Jag gör då som så att jag i rowcreated eventet fångar upp radiobutton och lägger på en referens till javascriptet.

If e.Row.RowType = DataControlRowType.DataRow Then
            Dim rdTaBort As RadioButton = CType(e.Row.FindControl("rdTabort"), RadioButton)
            rdTaBort.Attributes.Add("oncheckedchange", "PageNotSaved();")
        End If

Men när jag checkar radiobutton händer ingenting. Själva javascriptet fungerar eftersom jag kan kalla på det från en annan funktion och det gör vad det ska.

Resulterande HTML visas nedan

 <td width="50" valign="top">
<span oncheckedchange="PageNotSaved();"><input id="ctl00_ContentPlaceHolderPage_gvhushall_ctl02_rdTaBort"
type="radio"
name="ctl00$ContentPlaceHolderPage$gvhushall$ctl02$GodkannTabort"
value="rdTaBort" /></span>
</td>

Vad gör jag för fel?

Medlem sedan feb. 2005280 inlägg
#2

själva felet är väl att oncheckedchange hamnar på span elementet

men varför den gör det vette katten....

Medlem sedan sep. 20011 914 inlägg
#3
        protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                CheckBox cb = e.Row.FindControl("cb1") as CheckBox;
                cb.InputAttributes.Add("onclick", "alert('Grr');");
            }
        }
Medlem sedan jan. 2008280 inlägg
#4

Stort tack!

251 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)