![]() |
|
|
|||||||
| Javascript Här diskuteras det som rör Javascript, AJAX, DOM & DHTML. |
![]() |
|
|
Trådverktyg | Visningsalternativ |
|
|
#1 |
|
Medlem
Registrerad: 2000-09-16
Ort: Böketofta
Inlägg: 112
Lösningar: 1 |
'a href' -->'form'
Jag skulle vilja göra om en 'a href'-länk till ett javascript till att när man väljer en 'option' i ett formulär så ska formulärsdatan skickas till javascriptet.
Javascriptet: Kod:
<script language="javascript" type="text/javascript">
var lastID = \'\';
var lastGender = \'\';
var lastZ = \'\';
function memClick (id, gender, z)
{
if (lastID)
{
lastID.src = \'katalog/maps/\' + lastGender + \'pin.gif\';
lastID.style.zIndex = lastZ;
}
id.src = \'katalog/maps/\' + gender + \'pin_on.gif\';
id.style.zIndex = 9999; // make sure the z-index is high enough to see
// update to turn image to off next time
lastID = id;
lastGender = gender;
lastZ = z;
}
</script>
Kod:
<a href="java script:memClick(document.images.p1,0">jocke</a> <a href="java script:memClick(document.images.p2,0">anna</a> <a href="java script:memClick(document.images.p3,0">pelle</a> <a href="java script:memClick(document.images.p3,0,1">per</a> Kod:
<form method="post" name="images"> <select name="p" style="font-size: 7pt;" size="30" onchange="submit.memClick(document.images.p.options[this.selectedIndex].value);"> <option value="1, 0">jocke</option> <option value="2, 0">anna</option> <option value="3, 0">pelle</option> <option value="3, 0, 1">per</option> </select></form> ![]() Tacksam för tips! /Anders
__________________
www.loppmarknader.se Senast redigerad av bloSSA, 2005-03-29 klockan 19:38 |
|
|
|
|
|
#2 |
|
Moderator
Marsvin Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 815
Lösningar: 3126 |
Kan du inte visa koden som skickas till webbläsaren istället för koden där javascript och formulär genereras? Vi har ju ingen aning om innehållet i dina hemska php-variabler och läskiga objekt...
__________________
@aviddevguy |
|
|
|
|
|
#3 |
|
Medlem
Registrerad: 2000-09-16
Ort: Böketofta
Inlägg: 112
Lösningar: 1 |
:r
Jag har städat mitt första inlägg nu. *sorry* /Anders
__________________
www.loppmarknader.se |
|
|
|
|
|
#4 |
|
Moderator
Marsvin Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 815
Lösningar: 3126 |
Du har kvar lite $settings['default_images_url'] i första delen fortfarande. (och spontant känns just de raderna felaktiga. Vad är det tänkt att du ska göra där?)
__________________
@aviddevguy |
|
|
|
|
|
#5 |
|
Medlem
Registrerad: 2000-09-16
Ort: Böketofta
Inlägg: 112
Lösningar: 1 |
Har ändrat i javascriptet i mitt första inlägg, jag hoppas att jag har rätt på alla fnurpar å duttar. :-)
Javascriptet i sej funkar annars, det har jag inte rört. Det som ska ske är att en gif-bild ska bytas mot en annan när man valt ett namn. Det finns många namn och det finns många små gif-bilder. Varje gif-bild representerar ett namn. När man valt ett namn ska föregående valt namns gif återställas.
__________________
www.loppmarknader.se |
|
|
|
|
|
#6 |
|
Moderator
Marsvin Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 815
Lösningar: 3126 |
Eftersom det är lite olika parametrar som ska skickas med hade jag antagligen gjort något sånt här:
Kod:
<form method="post" name="images"> <select name="p" style="font-size: 7pt;" size="30" onchange="doMemClick(this.value);"> <option value="jocke">jocke</option> <option value="anna">anna</option> <option value="pelle">pelle</option> <option value="per">per</option> </select></form> Kod:
function doMemClick(user) {
if (user=="jocke")
memClick(document.images.p1,0);
if (user=="anna")
memClick(document.images.p2,0);
if (user=="pelle")
memClick(document.images.p3,0);
if (user=="per")
memClick(document.images.p3,0,1);
}
![]() Mvh
__________________
@aviddevguy |
|
|
|
|
|
#7 |
|
Medlem
Registrerad: 2000-09-16
Ort: Böketofta
Inlägg: 112
Lösningar: 1 |
Ok, ska testa det. Jäkligt smart å skapa en funktion tycker jag!!
Då jag kör med loopar så kommer jag dock att ändra value, men det är en baggis. Tackar, tackar!
__________________
www.loppmarknader.se |
|
|
|
|
|
#8 |
|
Medlem
Registrerad: 2000-05-27
Ort: Helsingborg
Inlägg: 7 625
Lösningar: 623 |
Skulle bara vilja påpeka att this.value inte är så vettigt att använda. Den propertyn finns egentligen inte. Det är bara ett Internet Explorer påhitt. Kör med: this.options[this.selectedIndex].value istället.
__________________
/Erik "My love for you is like a truck, BERSERKER" "Would you like some making f**k, BERSERKER" |
|
|
|
|
|
#9 |
|
Medlem
Registrerad: 2000-05-27
Ort: Helsingborg
Inlägg: 7 625
Lösningar: 623 |
Så här hade dock jag skrivit. If-satser känns inte hållbart i längden.
Kod:
<script language="javascript" type="text/javascript">
var lastID = '';
var lastGender = '';
var lastZ = '';
function memClick(id, gender, z)
{
if (lastID)
{
lastID.src = 'katalog/maps/' + lastGender + 'pin.gif';
lastID.style.zIndex = lastZ;
}
id.src = 'katalog/maps/' + gender + 'pin_on.gif';
id.style.zIndex = 9999; // make sure the z-index is high enough to see
// update to turn image to off next time
lastID = id;
lastGender = gender;
lastZ = z;
}
function doMemClick(val)
{
var valArr = val.split();
var img = document.images["p" + valArr[0]];
memClick(img, valArr[1], valArr[2]);
}
</script>
<form method="post" name="images">
<select name="p" style="font-size: 7pt;" size="30"
onchange="doMemClick(this.options[this.selectedIndex].value);">
<option value="1,0">jocke</option>
<option value="2,0">anna</option>
<option value="3,0">pelle</option>
<option value="3,0,1">per</option>
</select>
</form>
__________________
/Erik "My love for you is like a truck, BERSERKER" "Would you like some making f**k, BERSERKER" |
|
|
|
|
|
#10 |
|
Medlem
Registrerad: 2000-09-16
Ort: Böketofta
Inlägg: 112
Lösningar: 1 |
Det där sista ser smidigt ut, så vill jag ha det. :-)
Det funkar dock inte. Jag testade även att ändra splitten till Kod:
val.split(",")
Kod:
Event thread: onchange
Error:
name: ReferenceError
message: Statement on line 1: Reference to undefined variable: No such variable 'doMemClick'
Backtrace:
In unknown script
doMemClick(this.value);
At unknown location
{event handler trampoline}
__________________
www.loppmarknader.se |
|
|
|
|
|
#11 |
|
Medlem
Registrerad: 2000-09-16
Ort: Böketofta
Inlägg: 112
Lösningar: 1 |
Upps! fel log. Har aldrig använt javaloggen tidigare... :-)
Det verkar nästan funka. det som blir fel är: Kod:
Event thread: onchange Error: name: TypeError message: Statement on line 13: Expression evaluated to null or undefined and is not convertible to Object: id Backtrace: Line 13 of inline#3 script in http://192.168.1.100/anders/smf/index.php?action=mm id.src = "http://192.168.1.100/anders/smf/Themes/default/images/maps/" + gender + "pin_on.gif"; Line 26 of inline#3 script in http://192.168.1.100/anders/smf/index.php?action=mm memClick(img, valArr[1], valArr[2]); In unknown script doMemClick(this.options[this.selectedIndex].value); At unknown location {event handler trampoline}
__________________
www.loppmarknader.se Senast redigerad av bloSSA, 2005-03-29 klockan 22:24 |
|
|
|
|
|
#12 | |
|
Moderator
Marsvin Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 815
Lösningar: 3126 |
Citat:
![]() Jag håller dock med om att det är snyggare med split(). Problemet är kanske att valArr[2] inte alltid finns, och därför blir det fel? mvh
__________________
@aviddevguy |
|
|
|
|
|
|
#13 |
|
Medlem
Registrerad: 2000-09-16
Ort: Böketofta
Inlägg: 112
Lösningar: 1 |
Kanske det, isf behöver jag en if-sats som kollar storleken på valArr, dvs hur många delar det blev när jag splittat. Finns det typ 'sizeof' på någe smidigt sätt?
/Anders
__________________
www.loppmarknader.se |
|
|
|
|
|
#14 |
|
Moderator
Marsvin Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 815
Lösningar: 3126 |
Du kan använda valArr.length.
Mvh
__________________
@aviddevguy |
|
|
|
|
|
#15 |
|
Medlem
Registrerad: 2000-05-27
Ort: Helsingborg
Inlägg: 7 625
Lösningar: 623 |
valArr[2] blir null om det inte finns...
Så i memClick kan du bara kolla om gender == null. ![]() Kommatecknet i split hade jag missat. Bra att du såg det!
__________________
/Erik "My love for you is like a truck, BERSERKER" "Would you like some making f**k, BERSERKER" |
|
|
|
![]() |
| Trådverktyg | |
| Visningsalternativ | |
|
|