Avatar billede chrhoegh Nybegynder
13. november 2006 - 18:45 Der er 7 kommentarer

Kan man opdatere input type="text" på en given hjemmesiden?

Vi bruger dagligt en hjemmeside hvor vi skal indtaste navn og adresse på folk.
Desværre skal vi i dag kopier data fra et programvinduer over til felterne på hjemmesiden.

Ønsket er at lave en lille c# applikation/program der kan slå navn og adresse op i vores database og så indsætte det på i de rigtige felter på en bestemt hjemmeside.

Hjemmesiden vil være åben samtidig med aplikationen, så jeg forestiller mig noget kodet i stil med

windows.explore.wwww.xxxx.dk.form.navn = "Anders And";
Avatar billede hacked Nybegynder
13. november 2006 - 19:38 #1
Det program I anvender benytter det sig af en ekstern database eller jeres egen?
Hvis det er jeres egen database, hvorfor så ikke gøre det hele webbaseret?
Den måde du vil gøre det på virker for mig lidt kringlet.
Avatar billede chrhoegh Nybegynder
13. november 2006 - 20:28 #2
Ja det skulle jeg have skrevet lidt tydeligere.
Det er ikke vores egen hjemmeside, vi taster oplysningerne på, så vi kan styrre webindholdet den vej.

Og man er også logget ind med brugernavn og password, så vi kan ikke kalde formens submit funktion med de øsnkede værdier.
Avatar billede m_els Nybegynder
14. november 2006 - 17:55 #3
Du kunne benytte .NETs webbrowser control.

Du kan så finde dit input felt, og sætte value. Se eksempel nedenfor:


HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("input");
            foreach (HtmlElement element in elements)
            {
                if (element.Name.Equals("inputName"))
                {
                    element.SetAttribute("value", "inputValue");
                }
            }

håber det hjælper...
Avatar billede m_els Nybegynder
14. november 2006 - 18:20 #4
Kom lige i tanke om, at du sikkert også gerne vil "submitte" formen. Det gøres således:

HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("form");
foreach (HtmlElement element in elements)
{
    element.InvokeMember("submit");
}
Avatar billede chrhoegh Nybegynder
15. november 2006 - 11:21 #5
Det var lige den funktion jeg ledte efter. Super sejt gået.
Jeg er blevet fint fortrolig med at udfylde input felter. Og det er heller ikke noget problem at kalde hjemmesidens [onclick] og [onchang] ved hjælp af element.InvokeMember("onclick");

Men der er opstået et nyt problem!
Efter man er logget ind med brugernavn og password, åbnes den hjemmeside hvor vi taster
de mange oplysninger i et nyt og almindeligt browser vindue.

Men hvordan får jeg GetElementsByTagName("input") til at arbejde i det ny-åbnede browser vindue?

Supplerende note:
Når jeg er logget ind og står i det ny-åbnede vindue kan jeg i URL’en se det nøgle-ID som gør jeg har fået adgang til siden. URL’en har jeg så prøvet at sætte direkte ind som start URL i webBrowser1 og det virkede fint.
Men nøgle-ID’et udløber desværre efter noget tid, så næste gang jeg starter programmet virker det ikke.

Selv tror jeg at den nemmeste må være hvis man får GetElementsByTagName("input") til at arbejde i det ny-åbnede browser vindue?
Avatar billede m_els Nybegynder
15. november 2006 - 12:41 #6
Nu ved jeg ikke hvordan den hjemmeside du benytter er opbygget, men det kunne være en ide at sætte target attributten:

element.SetAttribute("target", "_self");

Så vil den nye side blive åbnet i webbrowser control'en
Avatar billede chrhoegh Nybegynder
15. november 2006 - 12:52 #7
God ide men virker desværre ikke.
Jeg kan ikke se i koden hvad det er der gør at et nyt vindue åbnes. Formentlig er det noget skjult javascript på den sti der kaldes i formens action="blabla"

Men alle nye ideer er meget velkommen.
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