Avatar billede cmau Nybegynder
18. december 2005 - 15:23 Der er 29 kommentarer og
1 løsning

Lidt flere funktioner til javascript

Hejsa

Jeg har det her java script:
function ShowPicture(obj){
  document.getElementById("imgview").src = "file:///" + obj.value;
}

Hvordan kan jeg få noget med border og witdh med? Så man via et input felt kan bestemme hvor bredt billedet skal være og hvor tyk borderen skal være.

Jeg har prøvet noget med:
  document.getElementById("imgview").witdh = width.value;

Men det virker ikke.
Avatar billede elskermad.dk Nybegynder
18. december 2005 - 15:29 #1
document.getElementById("imgview").style.width hedder det...
Avatar billede cmau Nybegynder
18. december 2005 - 15:45 #2
Skal jeg så gøre sådan her:
function ShowPicture(file, width, border){
  document.getElementById("imgview").src = "file:///" + file.value;
  document.getElementById("imgview").style.width = width.value;
  document.getElementById("imgview").style.border = border.value;
}
Avatar billede cmau Nybegynder
18. december 2005 - 15:48 #3
<input type="file" name="picture" onchange="ShowPicture(this);">

Hvordan kan man lave n onpresskey? er det noget der hedder det?
<input type="text" name="width" value="">
Avatar billede elskermad.dk Nybegynder
18. december 2005 - 16:05 #4
onKeydown eller onKeyup kan du bruge...
Avatar billede cmau Nybegynder
18. december 2005 - 16:08 #5
Hmm det her virker ikke:
<form method="POST" action="?" enctype="multipart/form-data" name="add">
  <img id="imgview" name="view" src="billeder/tomt.jpg" border="1"><br>
  <input type="file" name="picture" onchange="ShowPicture(this, width, border);">
  <input type="text" name="width" value="" onKeydown="ShowPicture(file, this, border);">
  <input type="text" name="border" value="" onKeydown="ShowPicture(file, witdh, this);">
</form>

<SCRIPT type="text/javascript">
function ShowPicture(file, width, border){
  document.getElementById("imgview").src = "file:///" + file.value;
  document.getElementById("imgview").style.width = width.value;
  document.getElementById("imgview").style.border = border.value;
}
</SCRIPT>
Avatar billede cmau Nybegynder
18. december 2005 - 16:43 #6
?
Avatar billede roenving Novice
19. december 2005 - 04:54 #7
Du er nødt til at henvise til værdierne i felterne, så f.eks.

<form method="POST" action="?" enctype="multipart/form-data" name="add">
  <img id="imgview" name="view" src="billeder/tomt.jpg" border="1"><br>
  <input type="file" name="picture" onchange="ShowPicture(this, this.form.width, this.form.border);">
  <input type="text" name="width" value="" onKeydown="ShowPicture(this.form.file, this, this.form.border);">
  <input type="text" name="border" value="" onKeydown="ShowPicture(this.form.file, this.form.width, this);">
</form>

-- og så skal længdeværdier i css have en enhed, hvis de skal virke (siger standarden !-)

<script type="text/javascript">
function ShowPicture(file, width, border){
  document.getElementById("imgview").src = "file:///" + file.value;
  document.getElementById("imgview").style.width = width.value + "px";
  document.getElementById("imgview").style.border = border.value + "px";
}
</script>
Avatar billede cmau Nybegynder
19. december 2005 - 12:27 #8
Man skal vælge width inden ellers bliver billedet bare normalt og border virker ikke.

Hvis jeg vælger billede og width sker der ikke noget
Hvis jeg vælger width også billede så virker det.
Avatar billede roenving Novice
20. december 2005 - 00:50 #9
Jepz, du skal have nogle default-værdier ...
Avatar billede cmau Nybegynder
20. december 2005 - 15:09 #10
Det hjælper ikke at smide det her ind width="100" border="1"
Avatar billede roenving Novice
20. december 2005 - 15:43 #11
<input type="text" name="width" value="100" onKeydown="ShowPicture(this.form.file, this, this.form.border);">
  <input type="text" name="border" value="1" onKeydown="ShowPicture(this.form.file, this.form.width, this);">
Avatar billede cmau Nybegynder
20. december 2005 - 18:28 #12
Jamen det skal være muligt at ændre witdh bagefter man har valgt billede og border virker slet ikke og har dne ikke grjodt.
Avatar billede cmau Nybegynder
21. december 2005 - 15:04 #13
? :D
Avatar billede cmau Nybegynder
23. december 2005 - 18:30 #14
Hvordan kan det fixes?
Avatar billede roenving Novice
24. december 2005 - 19:08 #15
Man kan da sagtens ændre værdien i felterne, hvis der bare er angivet en default-værdi ?-)
Avatar billede cmau Nybegynder
25. december 2005 - 11:17 #16
Fik en ven til at ændre lidt ting, han mente det var dumt at bruge this til at hente værdier. Nu virker det.

Men hvis du vil have ppoints, som tak for hjælpenm, smider du så ikke lig et svar?

<script type="text/javascript">
function ShowPicture(){
bredde = document.getElementById("bredde").value;
bredde = (parseInt(bredde) > 0) ? parseInt(bredde) : 100;
kant = document.getElementById("kant").value;
kant = (parseInt(kant) > 0) ? parseInt(kant) : 1;
file = document.getElementById("file");
  document.getElementById("imgview").src = "file:///" + file.value;
  document.getElementById("imgview").style.width = bredde + "px";
  document.getElementById("imgview").style.border ="groove #000000 "+kant+"px;";
}
</script>
<form method="POST" action="?" enctype="multipart/form-data" name="add">
  <img id="imgview" name="view" border="1" src="billeder/tomt.jpg"><br>
  <input type="file" name="picture" id="file" onchange="ShowPicture();">
<input type="text" name="width" value="100" id="bredde" onKeyUp="ShowPicture();">
  <input type="text" name="border" value="1" id="kant" onKeyUp="ShowPicture();">
</form>
Avatar billede roenving Novice
25. december 2005 - 12:50 #17
Hrm, dumt at hente værdier med this ?-)

-- så har han helt åbenbart ikke nogen egentlig erfaring med rigtig programmering, for man skal _altid_ finde metoder, som på den nemmeste måde kan porteres til andre situationer, specielt hvis det ovenikøbet kan gøres mere effektivt !-)

-- iøvrigt er der en risiko for sjove værdier, når parseInt bruges uden at angive basen, så jeg vil da anbefale, at du angiver den: parseInt(bredde,10) ...

-- uden base vil et nul foran et tal pludselig have en mening, da javascript vil fortolke 0123 som 83 !o]
Avatar billede cmau Nybegynder
25. december 2005 - 14:27 #18
Nu ved jeg slet ikke hvad der sker, vil duikke prvøe at smide det der ind og se om du kan optimere den lidt, hvis jeg bare smider det der ind i en fil funker det fint i IE, FF og Opera, men hvis jeg fletter det ind på min side og viser den via localhost, så fucker den i FF og Opera, den bliver bare ved med at vise billeder/tomt.jpg
Avatar billede roenving Novice
25. december 2005 - 14:39 #19
?-)

Man kunne f.eks. gøre sådan, selvom jeg selv ville bruge metoder, der ligner den tidligere smidte ...

<script type="text/javascript">
function ShowPicture(f){
bred = f.bredde.value;
bred = parseInt(bred) > 0 ? parseInt(bred,10) : 100;
knt = f.kant.value;
knt = parseInt(knt) > 0 ? parseInt(knt,10) : 1;
fil = f.file;
  document.getElementById("imgview").src = "file:///" + fil.value;
  document.getElementById("imgview").style.width = bred + "px";
  document.getElementById("imgview").style.border ="groove #000000 "+knt+"px;";
}
</script>
<form method="POST" action="?" enctype="multipart/form-data" name="add">
  <img id="imgview" name="view" border="1" src="billeder/tomt.jpg"><br>
  <input type="file" name="picture" id="file" onchange="ShowPicture(this.form);">
<input type="text" name="width" value="100" id="bredde" onKeyUp="ShowPicture(this.form);">
  <input type="text" name="border" value="1" id="kant" onKeyUp="ShowPicture(this.form);">
</form>
Avatar billede cmau Nybegynder
27. december 2005 - 10:22 #20
http://kdp.users.whitehat.dk/fejl.htm

Prøv at kig på den i FF og Opera, der virker det ikke - jeg har også problemer med min file felt i FF
Avatar billede roenving Novice
27. december 2005 - 13:53 #21
Avatar billede cmau Nybegynder
28. december 2005 - 14:01 #22
hvad skal det betyde?
Avatar billede roenving Novice
28. december 2005 - 16:34 #23
Det er den fejl Gecko-maskinen sender ud, og som forårsager, at det ikke virker ...

-- jeg kan ikke erindre, at jeg har set en løsning på den !-)
Avatar billede cmau Nybegynder
28. december 2005 - 19:58 #24
hmm hvad er en gecko maskine? :S
Avatar billede roenving Novice
29. december 2005 - 14:52 #25
Det er den renderings- (optegnings-) maskine, der sidder i Netscape 6+, Mozilla, FireFox, Camino m.fl.

Dvs. den komponent, der beregner og tegner en sides indhold og skaber forbindelse fra handlinger m.v. i browseren til styresystem m.v. !-)
Avatar billede cmau Nybegynder
30. december 2005 - 12:42 #26
Jamen hvordan kan jeg så rette den der sikkerhedsfejl, så det kan lade sig gøre at se i de andre browsere?
Avatar billede cmau Nybegynder
31. december 2005 - 12:47 #27
Kan man disable den?
Avatar billede cmau Nybegynder
03. januar 2006 - 09:35 #28
?
Avatar billede cmau Nybegynder
04. januar 2006 - 14:31 #29
Your help is needed.
Avatar billede cmau Nybegynder
18. maj 2006 - 08:38 #30
jamen. må ok.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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