Avatar billede thb Nybegynder
23. maj 2003 - 23:02 Der er 43 kommentarer og
2 løsninger

variabel fra et vindue til et andet

Hey alle

Jeg er ved at lave et artikel system, og jeg vil lave sådan at man kan indsætte billeder, min tanke er at man trykke på et link (indsæt billed) og så kommer der et vindue, hvor man kan uploade et billed fra sin harddisk, når den har uploadet billedet, så skal fil navnet smides tilbage til start vinduet, og ind i et textarea.

Hvordan gør jeg det ???

Håber at i forstår.

Thomas
Avatar billede tangveje Nybegynder
23. maj 2003 - 23:30 #1
Kan klares med javascript, noget ala dette... Sæt det ind i <head> delen på siden der vises i dit popup vindue. Udskift 'din_form' med navnet på formen der indeholder dit textarea, og 'dit_textarea' med navnet på dit textarea. Husk også lige at skifte 'filnavn' ud med den korrekte variabel.

<script type="text/javascript">
    var filnavn = '<%= filnavn %>' ;

    ta = window.opener.forms['din_form'].elements['dit_textarea'] ;

    ta.value = ta.value + filnavn ;
</script>
Avatar billede thb Nybegynder
23. maj 2003 - 23:39 #2
Tak, tjekker det lige her en af dagene, og vender tilbage... :)

Thomas
Avatar billede thb Nybegynder
24. maj 2003 - 12:52 #3
Hvad hvis jeg skal lave sådan at der er en knap lige ved siden af tekst feltet, og når man trykker så bliver der smidt noget tekst ind i tekst feltet ???

Jeg har prøvet at skrive:

function input(tekst){
  ta = ret.tekst.value = ret.tekst.value + tekst;
}

og så kan den ved input("")

Thomas
Avatar billede roenving Novice
24. maj 2003 - 13:00 #4
på din knap laver du:

<input type=button ... onclick="this.form.tekst.value+=''">
Avatar billede thb Nybegynder
24. maj 2003 - 13:04 #5
nice... tak..

Thomas
Avatar billede roenving Novice
24. maj 2003 - 13:05 #6
Velbekomme '-)
Avatar billede thb Nybegynder
24. maj 2003 - 13:57 #7
Er det muligt at man kan registrere om der er noget tekst markeret i et tekst felt ???

Altså sådan at man kunne markere noget af en tekst og så trykke på bold knappen, og så skal bold koderne blive sat ind på hverside af det markerede..

Thomas
Avatar billede roenving Novice
24. maj 2003 - 14:07 #8
Det kan man godt men såvidt jeg husker er det ikke cross-browser ...
Avatar billede thb Nybegynder
24. maj 2003 - 14:13 #9
cross-browser ???

Ved du hvor jeg kan finde noget om det.. Det er ikke livsnødvendigt, men det ville være en meget fed ting at have på. :)

Thomas
Avatar billede roenving Novice
24. maj 2003 - 14:18 #10
Tastede lige
javascript textrange
i google og fik 968 links

og det er M$ only
Avatar billede thb Nybegynder
24. maj 2003 - 14:28 #11
okay, det prøver jeg så...

Den function som tangveje har lavet, den kan jeg ikke få til at virke..
jeg har sat det her ind lige efter at den har uploadet billedet..

<script type="text/javascript">
    var filnavn = '<%= File.Filename %>' ;

  ta = window.opener.forms['ret'].elements['tekst'] ;

    ta.value = ta.value + filnavn ;
                   
    window.close()
</script>

Men der sker ikke noget...

Thomas
Avatar billede roenving Novice
24. maj 2003 - 14:34 #12
Har du, som tangveje skriver, sat det ind i head-delen af dit script til popuppen ?-)
Avatar billede thb Nybegynder
24. maj 2003 - 14:38 #13
nej for så kan jeg ikke fange variablen med fil navnet...

Kan man ikke lave sådan en function som man så kalder når den har uploadet billedet, og den så gør det den skal... ???

Thomas
Avatar billede roenving Novice
24. maj 2003 - 14:43 #14
Jo, hvis billedet vises har det .src som du kan hente med javascript, ellers må du sørge for det findes på en eller anden måde
Avatar billede thb Nybegynder
24. maj 2003 - 14:46 #15
fil navnet kommer ud fra et uploadings script, hvor at fil navnet findes ved File.Filename

Så jeg ved ikke hvordan jeg ellers skal finde det...

Thomas
Avatar billede roenving Novice
24. maj 2003 - 14:51 #16
Hvis du opdaterer hele siden -- og det gætter jeg på du gør -- kan du tilføje filnavnet ind i feltets value direkte ... à la den måde sættes ind

kan nada asp så jeg må holde mig til javascript og principperne ...
Avatar billede thb Nybegynder
24. maj 2003 - 14:54 #17
det tror jeg ikke virker.. den anden måde som du viste mig... den referere jo ikke til hvilket vindue som det skal foregå i...

jeg har jo 2 vinduer, et hvor variablen er, og et hvor der er et tekst felt, og der skulle variablen meget gerne ende.

Thomas
Avatar billede roenving Novice
24. maj 2003 - 14:58 #18
Prøv lige om:

<script type="text/javascript">
    var filnavn = '<%= File.Filename %>' ;
    alert(filnavn);
  ta = window.opener.forms['ret'].elements['tekst'] ;

    ta.value = ta.value + filnavn ;
                   
    window.close()
</script>

ikke giver dig en alert-box
Avatar billede thb Nybegynder
24. maj 2003 - 15:34 #19
jo der kom en alert med filnavnet...

Men hvordan kommer jeg videre derfra...
Avatar billede roenving Novice
24. maj 2003 - 15:41 #20
Jamen så kom der vel også noget ekstra tekst i den input, som hedder tekst ...
Avatar billede thb Nybegynder
24. maj 2003 - 15:42 #21
nej, desværre... det virker ikke...

Hvad gør den der 'opener' i window.opener.form...

Thomas
Avatar billede roenving Novice
24. maj 2003 - 15:48 #22
opener refererer til det vindues-objekt som har udført 'åbningen' af popup-vinduet (vha. en javascript window.open eller <a ... target="_blank"> )

Hvis du har flere frames i den side, som åbner vinduet kan det være fejlkilden, da hver frame er et vindue-objekt
Avatar billede thb Nybegynder
24. maj 2003 - 15:56 #23
Det har jeg ikke, og det virker stadigvæk ikke...

Og jeg åbner vinduet med:
java script:window.open('upload.asp','upload','width=300,height=150,resize=no')

Thomas
Avatar billede roenving Novice
24. maj 2003 - 15:59 #24
Har du så en form med name="ret" og på den form en input med type=text og name="tekst"
Avatar billede thb Nybegynder
24. maj 2003 - 16:01 #25
det er ikke en input, det er et textarea... som hedder tekst
Men det gør vel ikke noget ???

Thomas
Avatar billede roenving Novice
24. maj 2003 - 16:02 #26
næh ...
Avatar billede roenving Novice
24. maj 2003 - 16:05 #27
Hvis jeg selv skulle skrive det, var det blevet sådan her (men det burde ikke gøre nogen fårskel ;O):

<script type="text/javascript">
    var filnavn = '<%= File.Filename %>' ;
    opener.forms['ret'].elements['tekst'].value+=filnavn ;
</script>
Avatar billede roenving Novice
24. maj 2003 - 16:06 #28
arh ...

jeg havde jo nok skrevet:

<script language="javascript" type="text/javascript">
Avatar billede thb Nybegynder
26. maj 2003 - 13:46 #29
Er der ikke andre måder at få en variabel fra et vindue til et andet..
For jeg kan ikke få det til at virke...

Det er lidt federe at den bliver overført til textfeltet selv, istedet for at man skal kopiere den i den ene vindue, og sætte den ind i det andet..

Thomas
Avatar billede roenving Novice
26. maj 2003 - 13:52 #30
Test det ved at forenkle kommandoen:

opener.ret.tekst.value+=filnavn ;

Sæt en alertbox ind:

alert(opener.title)
alert(opener.ret.name)
alert(opener.ret.tekst.value)

-- jeg har det til at virke med andre navne, så ???-|
Avatar billede thb Nybegynder
26. maj 2003 - 13:57 #31
okay... jeg prøver videre.. jeg er ikke så vild til Javascript, så derfor spørger jeg hele tiden.. :)
Avatar billede roenving Novice
26. maj 2003 - 13:57 #32
:-)
Avatar billede thb Nybegynder
26. maj 2003 - 14:00 #33
nu har jeg skrevet sådan her...

<script language="javascript" type="text/javascript">
  var filnavn = '<%= File.Filename %>' ;
  opener.forms['ret'].elements['tekst'].value+=filnavn ;
                   
  alert(opener.title)
  alert(opener.ret.name)
  alert(opener.ret.tekst.value)

</script>

Og der sker ikke noget..

Thomas
Avatar billede roenving Novice
26. maj 2003 - 14:11 #34
Heller ikke alerts ...
Avatar billede thb Nybegynder
26. maj 2003 - 14:14 #35
Der sker slet ikke noget...

Thomas
Avatar billede thb Nybegynder
26. maj 2003 - 14:27 #36
nu fik jeg alertsne frem de siger:

1) Undefined
2) ret
3) etellerandet som hurtigt forsvinder igen.. :|
Avatar billede roenving Novice
26. maj 2003 - 14:45 #37
alert(opener.ret.tekst.name)  ?-)
Avatar billede thb Nybegynder
26. maj 2003 - 14:58 #38
den siger tekst.. :)

Thomas
Avatar billede roenving Novice
26. maj 2003 - 15:27 #39
-- hurtigt forsvinder ??

<script language="javascript" type="text/javascript">
  alert(opener.ret.tekst.value)

  var filnavn = '<%= File.Filename %>' ;
  opener.forms['ret'].elements['tekst'].value+=filnavn ;
                   
  alert(opener.ret.tekst.value)

</script>
Avatar billede thb Nybegynder
26. maj 2003 - 15:37 #40
Så kommer der kun en alert box, hvor der står hvad der står i mit tekst felt...

Men der kommer ikke 2...

Det er som om at den ikke kan vise alerts efter at den har ændret tekst's value..

Thomas
Avatar billede roenving Novice
26. maj 2003 - 15:46 #41
Men du genererer siden fra dit asp, ikke?

Sådan at

var filnavn = '<%= File.Filename %>' ;

ser f.eks. sådan ud:

var filnavn = 'hans-peter.jpg' ;
Avatar billede thb Nybegynder
26. maj 2003 - 15:58 #42
ja... det er sandt..

Thomas
Avatar billede roenving Novice
27. maj 2003 - 14:50 #43
Takker for points ;~}

-- fik du prøvet:

<script language="javascript" type="text/javascript">
  var filnavn = '<%= File.Filename %>' ;
  opener.ret.tekst.value+=filnavn ;
</script>
Avatar billede thb Nybegynder
27. maj 2003 - 15:13 #44
den virker... nice... :)

Mange gange tak..

Thomas
Avatar billede roenving Novice
27. maj 2003 - 15:34 #45
Muy bueno '-)
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
Kurser inden for grundlæggende programmering

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