P Pedda Medlem sedan juni 2000 6 031 inlägg Trådstart 30 juli 2003 21:14 #1 Är helt novis när det gäller javascript, men har iaf lyckats plocka ihop ett som funkar någorlunda.
Har en sida med en länk:
<A href="javascript:Colorizer('ColorPick','farg1')">Pick color</A>
i pop-up sidan har jag:
<script language="javascript">
function doColor(color){
opener.document.ColorPick.farg1.value = color;
}
</script>
Detta funkar bra, men jag vill att det i pop-up fönstret ska känna av om jag skickar farg1 eller farg2 osv.
Hoppas att jag har lyckats förklara så att ni förstår vad jag menar.
Vart har du funktionen Colorizer och hur ser den ut?
P Pedda Medlem sedan juni 2000 6 031 inlägg <SCRIPT language=JavaScript>
<!--
function Colorizer(form,field){
var col = eval("document." + form + "." + field + ".value");
col = col.replace(/#/g,"");
window.open("popup.php?col=" + col + "&field=" + field + "&form=" + form,"colorpicker","location=no,directories=no,status=no,toolbar=no,menubar=no,width=292,height=300,resizable=no,screenX=1,screenY=1,top=20,left=20");
}
// -->
</SCRIPT>
Funktionen finns på första sidan, inte i pop-up,en
Förstår inte riktigt vad du menar, men en sak: eval() is evil!
du kan göra samma sak utan eval genom att:
var col = document.forms[form][field].value;
P Pedda Medlem sedan juni 2000 6 031 inlägg Vad är det du inte förstår?
i index.php har jag funktionen Colorizer och länken till pop-up.php
i pop-up.php har jag functionen doColor
Det jag undrar över är om det går att på pop-up.php att "känna" om det är farg1 eller farg2 osv som är i länken, och ändra i funktionen doColor.
P Pedda Medlem sedan juni 2000 6 031 inlägg Postar hela koden så kanske ni förstår bättre vad jag menar. (Tur att det inte är så mycket kod).
index.php
<SCRIPT language=JavaScript>
<!--
function Colorizer(form,field){
var col = document.forms[form][field].value;
col = col.replace(/#/g,"");
window.open("popup.php?col=" + col + "&field=" + field + "&form=" + form,"colorpicker","location=no,directories=no,status=no,toolbar=no,menubar=no,width=292,height=300,resizable=no,screenX=1,screenY=1,top=20,left=20");
}
// -->
</SCRIPT>
<TABLE cellSpacing="0" cellPadding="3" border="0" width="430" bgColor="f3f3f3">
<TBODY>
<FORM name=ColorPick action=add.php method=post>
<TR>
<TD vAlign="top">Color 1</TD>
<TD width="20"></TD>
<TD vAlign="top"><INPUT class=Body maxLength="16" size="32" name="farg1"></TD>
<TD width="20"></TD>
<TD vAlign="top" align=left><A href="javascript:Colorizer('ColorPick','farg1')">Pick color</A></TD>
</TR>
<TR>
<TD vAlign="top">Color 2</TD>
<TD width="20"></TD>
<TD vAlign="top"><INPUT class=Body maxLength="16" size="32" name="farg2"></TD>
<TD width="20"> </TD>
<TD vAlign="top" align=left><A href="javascript:Colorizer('ColorPick','farg2')">Pick color</A></TD>
</TR>
</FORM>
</TBODY>
</TABLE>
popup.php
<script language="javascript">
function doColor(color){
opener.document.ColorPick.farg1.value = color;
}
</script>
<img src="colorcube.gif" width="292" height="196" BORDER="0" ALT="Color cube" USEMAP="#ColorSchema">
<MAP NAME="ColorSchema">
<AREA COORDS="2,2,18,18" HREF="javascript:doColor('#330000')">
<!-- Raderat lite för att minska koden :) -->
</MAP>
P Pedda Medlem sedan juni 2000 6 031 inlägg Ingen som vet, eller är det jag som är så dålig på att förklara?