webForumDet fria alternativet

lägga till onclick/onfocus-event (klient-event) via code-behind till textbox

.NET

4 svar · 1 466 visningar · startad av Sanji

Medlem sedan juli 2009355 inlägg
Frågan#1

jag har denna kod i min asp.net-applikation. Det jag försöker göra är att lägga till ett klientside-event dynamiskt, då kontrollerna skapas dynamiskt, som ska ta bort den text som finns i textboxen då man klickar i den, om den fortfarande har default-värdet "0,00".

jag har testat med:

tbBox.Attributes.Add("onfocus", "if(this.value.equals('0,00')) this.value='';");

tbBox.Attributes.Add("onfocus", "if(this.value == '0,00') this.value='';");

har även testat med punkt(.) istället för komma(,), men får det inte att fungera. Skriver jag däremot så här så fungerar det:

tbBox.Attributes.Add("onfocus", "this.value='';");

Det betyder att applikationen inte tycker om mina if-satser jag försöker lägga till. Ser någon vad det är jag gör för fel? Jag har testat att rent av kopiera default-värdet från applikationen(när det skrivits ut i textboxen), och lagt in i if-satsen så att det skall ha exakt samma värde, men detta gjorde heller ingen skillnad.

Mvh Marcus

Medlem sedan juni 20019 519 inlägg
#2

value skall vara ren JS kod och inte .NET
men:

tbBox.Attributes.Add("onfocus", "if(this.value == '0,00') this.value='';");

Tycker jag borde fungera.

Kör du något JS ramverk så tycker jag du skall flytta ut logiken till ren Klient kod och struntar i .NET koden för att lägga in attribut på dina element.

Jquery exempel: http://jsbin.com/uferi6/edit

Där den letar upp alla input där den börja med namnet 'bob'

Medlem sedan juli 2009355 inlägg
#3

konstigt, nu fungerade denna kod:

tbBox.Attributes.Add("onfocus", "if(this.value == '0,00') this.value='';");

jag kör dessutom med jquery i applikationen så jag kan ju ta och försöka få det att fungera den vägen :) tackar voigtann1, som alltid kommer du med bra lösningar! du är nog den som hjälpt mig mest av alla här på forumet!

Medlem sedan okt. 2007446 inlägg
#4

en glad nyhet är att i HTML5 så har man löst det här eviga mecket med default-text i formulär.
Där finns attributet placeholder="det du vill ha".
Dock kanske det inte löser hela ditt problem. (särskillt som HTML5 stödet fortfarande är sådär)

Medlem sedan juni 20019 519 inlägg
#5

rhdf skrev:

en glad nyhet är att i HTML5 så har man löst det här eviga mecket med default-text i formulär.
Där finns attributet placeholder="det du vill ha".
Dock kanske det inte löser hela ditt problem. (särskillt som HTML5 stödet fortfarande är sådär)

Finns html5-shivs som gör det möjligt idag

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)