FredrikssonMedlem sedan nov. 2000271 inlägg
Har gjort följande javascript.
function b_moveIt(x,y){
this.x=x; this.y=y;
this.css.left=this.x
this.css.top=this.y;
if(this==oDrag[0]){
document.Form1.toplagerid0.value = y;
document.Form1.leftlagerid0.value = x;
}
if(this==oDrag[1]){
document.Form1.leftlagerid1.value = x;
document.Form1.toplagerid1.value = y;
}
if(this==oDrag[2]){
document.Form1.leftlagerid2.value = x;
document.Form1.toplagerid2.value = y;
}
if(this==oDrag[3]){
document.Form1.leftlagerid3.value = x;
document.Form1.toplagerid3.value = y;
}
if(this==oDrag[4]){
document.Form1.leftlagerid4.value = x;
document.Form1.toplagerid4.value = y;
}
if(this==oDrag[5]){
document.Form1.leftlagerid5.value = x;
document.Form1.toplagerid5.value = y;
}
if(this==oDrag[6]){
document.Form1.leftlagerid6.value = x;
document.Form1.toplagerid6.value = y;
}
if(this==oDrag[7]){
document.Form1.leftlagerid7.value = x;
document.Form1.toplagerid7.value = y;
}
Koden används för att man skall kunna dra och placera ut lager där man vill ha dem och så att deras placering sedan kan lagras i en databas.
Men det blir fler och fler lager och då mina if-satser lite jobbiga i längden. Nån som vet något bättre sätt att uppnå samma resultat???
------------------
// Fredriksson
annoMedlem sedan nov. 2000196 inlägg
Ingen expert på JavaScript men jag tycker man borde kunna göra något sånt här...
for (i=0; i<7; i++) {
if(this==oDrag[i]){
document.Form1.toplagerid[i].value = y;
document.Form1.leftlagerid[i].value = x;
}
}
------------------
/Andreas
FredrikssonMedlem sedan nov. 2000271 inlägg
Resultat:
document.Form1.toplagerid är inte ett objekt.
Formfälten som värdena skall sparas i:
<form name="Form1" method="post" action="nyindex.php3">
<input type="hidden" name="nysatt" value="1">
<input type="text" name="toplagerid0" value="$GLOBALS[toplagerid0]">
<input type="text" name="leftlagerid0" value="$GLOBALS[leftlagerid0]">
<input type="text" name="toplagerid1" value="$GLOBALS[toplagerid1]">
<input type="text" name="leftlagerid1" value="$GLOBALS[leftlagerid1]">
<input type="text" name="toplagerid2" value="$GLOBALS[toplagerid2]">
<input type="text" name="leftlagerid2" value="$GLOBALS[leftlagerid2]">
<input type="text" name="toplagerid3" value="$GLOBALS[toplagerid3]">
<input type="text" name="leftlagerid3" value="$GLOBALS[leftlagerid3]">
<input type="text" name="toplagerid4" value="$GLOBALS[toplagerid4]">
<input type="text" name="leftlagerid4" value="$GLOBALS[leftlagerid4]">
<input type="text" name="toplagerid5" value="$GLOBALS[toplagerid5]">
<input type="text" name="leftlagerid5" value="$GLOBALS[leftlagerid5]">
<input type="text" name="toplagerid6" value="$GLOBALS[toplagerid6]">
<input type="text" name="leftlagerid6" value="$GLOBALS[leftlagerid6]">
<input type="text" name="toplagerid7" value="$GLOBALS[toplagerid7]">
<input type="text" name="leftlagerid7" value="$GLOBALS[leftlagerid7]">
Vad kan det vara för fel???
------------------
// Fredriksson
ZaphodMedlem sedan maj 2000102 inlägg
Annon, du glömmer att leftlagerid inte är en Array!
for (i=0; i<7; i++) {
if(this==oDrag){
eval("document.Form1.toplagerid"+i+".value = y");
eval("document.Form1.leftlagerid"+i+".value = x");
}
}
Man kan lösa det på smidigare sätt dock med elements. Men detta borde funka.
------------------
/Magnus aka Zaphod
www.designmodule.com