Avatar billede curriculum Nybegynder
06. juli 2005 - 10:22 Der er 12 kommentarer og
1 løsning

Udfylde textbox ud fra højre klik

Jeg har lavet en retskrivning application. Der er en tekst hvor ord er skiftet ud med textboxe, hvor vedkommende skal skrive ord ind i. Jeg vil have at hvis den der forsøger at udfylde højre klikker på textbox'en ud fra en context menu, skal kunne udfylde textbox'en med det rette ord.
Jeg har lavet context menu'en (javascript), og mangler kun at få applicationen at udfylde textbox'en (vb.net og har et guid). Hvordan kan dette laves ?
Avatar billede snepnet Nybegynder
06. juli 2005 - 10:48 #1
hej curriculum - hvis du har en context-menu der bare viser ord, skal ordet jo så overføres til tekstboksen, hvilket også bør ske client-side.

hvis du sørger for at åbne din menu med en parameter om hvor resultatet skal lande (altså et id på inputfeltet på siden) kan du ved valg overføre parametere ved noget i denne stil :

document.getElementById(<dit id>).value = '<din value>';

mvh
Avatar billede curriculum Nybegynder
06. juli 2005 - 10:58 #2
Jeg vil at ordet ikke skal kunne ses i "Vis kilde" koden.
Kan jeg så levet en hidden textbox med id (ex. guid+a) og siden hente værdiet fra denne gemte textbox ind i højre klikkede textbox...
Avatar billede curriculum Nybegynder
06. juli 2005 - 11:07 #3
Den med hidden textbox fungerer ikke. Application laver en javascript fejl: Object required.
Avatar billede curriculum Nybegynder
06. juli 2005 - 11:08 #4
Har jeg så ikke mulighed at lave en popup, som åbner og lukker samtidig men tilføjer rette ord i textbox'en ? Hvordan laves dette ?
Avatar billede snepnet Nybegynder
06. juli 2005 - 11:23 #5
du kan godt lave et hidden field - det skulle der ikke være noget i vejen for, men du kan stadig se værdierne når du laver ser kildekoden (der findes scripts - der vil dække af for den slags i nogle browsere, men det er ikke særlig sikkert).

du kan godt lave en popup, der i forbindelse med at den "popper up" henter værdierne fra serveren - så vil de så være at finde i kildekoden til pop-up vinduet istedet.

jeg vil nok mene at det vil give den bedste brugeroplevelse at data ligger klar hos klienten, men hvis det ikke er en option kan du gøre noget i stil med:

ved højreklik:
open et nyt vindue, som viser en side alá LookUp.aspx?targetfield=<id på target field>

i det vindue viser du så en liste over valgmuligheder, og laver et clientscript der overfører valgt værdi til targetfield

sådan lidt pseudo-stil:

function onListClick(choice)
{
  // overfør værdien til targetfield
  document.opener.getElementById(targetfield).value = choice;
  // luk vinduet
  window.close();
}

på din liste skal du så sørge for at funktionen onListClick bliver kaldt med den valgte værdi.

alternativt kan du sørge for at have en layer på siden der fungerer som opslagsvindue - og du kan sikre at det fyldes med muligheder ved noget xmlhttp - således at værdierne ikke står i kildekoden til siden.
der er et eksempel her, der ser rimelig relevant ud:
http://www.15seconds.com/issue/050526.htm

mvh
Avatar billede curriculum Nybegynder
06. juli 2005 - 11:32 #6
Bare den ikke kan ses i koden er alle muligheder åbne...
Avatar billede snepnet Nybegynder
06. juli 2005 - 11:36 #7
ok... du kan jo kigge lidt på det jeg har sendt, og finde ud af hvad du synes ser mest appelerende ud.
mvh
Avatar billede curriculum Nybegynder
07. juli 2005 - 10:11 #8
Jeg vælger at lave et popup vindue, hvor brugeren siden får vist det manglende ord. Det har jeg valgt fordi, jeg vil også lave beregninger på hvor mange gange vedkommende trykker på "giv op".

Mit problem er nu at textbox'en på parent vinduet har et guid som id/name, mit child vinduet vil ikke returnere til textbox'en. Hvis jeg laver en fiktiv textbox med 'test' id/name, så fungerer den fint, ved du hvorfor og hvad kan laves ?
Avatar billede curriculum Nybegynder
07. juli 2005 - 10:41 #9
Jeg har oprettet et nyt javascript spm, til mit problem.
http://www.eksperten.dk/spm/631055
Avatar billede snepnet Nybegynder
07. juli 2005 - 10:42 #10
hvis det er en tekstboks du har en anden kontrol skal være opmærksom på at id-et pre-tagges af frameworket således at det sikres at de bliver unikke. så hvis du har en tekstboks i en repeater du giver id'et someTextBox i den kode du skriver - bliver dit resulterende id et andet.
check html-en der genereres.

(du kan programmatisk hente id'et ved someTextBox.ClientId, hvilket du så kan sætte som parameter på din "ShowChoiceBoxMetode").

mvh
Avatar billede snepnet Nybegynder
10. juli 2005 - 10:21 #11
er du der curriculum?
mvh
Avatar billede snepnet Nybegynder
28. juli 2005 - 18:26 #12
du får et svar - hvis du skulle have fået noget ud af :o)
mvh
Avatar billede curriculum Nybegynder
28. juli 2005 - 18:29 #13
Jeg har fået det at virke. Jeg bruger et popup vindue til svaret.
Med det, har jeg så mulighed at lave alle beregninger i popup vinduet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester