Window features  

Make a window

Directories Yes No
Location Yes No
Menubar Yes No
Resizable Yes No
Scrollbars Yes No
Status Yes No
Toolbar Yes No



Here the customizable window features can be specified using a form. Note the way we needed to handle the radio button values. Grouped controls such as checkboxes and radio buttons are defined as arrays. It seems to be simpler to test the "checked" attribute of the individual control than the value specified by the group.

Note also the way we passed the form by reference, using document.<formname> instead of with this.form as we did in the Fun with forms section.

Code in the page header

<script language="JavaScript" type="text/javascript">
<!--
function MakeWindow(paramform) {
var vDirs= "" ;
var vLoc = "" ;
var vMenu = "" ;
var vResize = "" ;
var vScroll = "" ;
var vStat = "" ;
var vTool = "" ;

if (paramform.rdirs[0].checked) { vDirs = ",directories" } ;
if (paramform.rloc[0].checked) { vLoc = ",location" } ;
if (paramform.rmenu[0].checked) { vMenu = ",menubar" } ;
if (paramform.rresize[0].checked) { vResize = ",resizable" } ;
if (paramform.rscroll[0].checked) { vScroll = ",scrollbars" } ;
if (paramform.rstat[0].checked) { vStat = ",status" } ;
if (paramform.rtool[0].checked) { vTool = ",toolbar" } ;

var paramString = "height=400,width=500,left=200,top=120" + vDirs + vLoc + vMenu + vResize + vScroll + vStat + vTool ;
var msg = window.open("popup_wordsworth.html", "", paramString);

paramform.txtTest.value = paramString ;

}
//-->
</script>


The form

<FORM NAME="winmaker">

<table summary="" cellpadding=5 cellspacing=0 border=2>

<tr><td align=right>
Directories
</td><td align=left>
<INPUT TYPE="radio" CHECKED NAME="rdirs" VALUE="">Yes
<INPUT TYPE="radio" NAME="rdirs" VALUE="">No
</td></tr>

<tr><td align=right>
Location
</td><td align=left>
<INPUT TYPE="radio" CHECKED NAME="rloc" VALUE="">Yes
<INPUT TYPE="radio" NAME="rloc" VALUE="">No
</td></tr>

<tr><td align=right>
Menubar
</td><td align=left>
<INPUT TYPE="radio" CHECKED NAME="rmenu" VALUE="">Yes
<INPUT TYPE="radio" NAME="rmenu" VALUE="">No
</td></tr>

<tr><td align=right>
Resizable
</td><td align=left>
<INPUT TYPE="radio" CHECKED NAME="rresize" VALUE="">Yes
<INPUT TYPE="radio" NAME="rresize" VALUE="">No
</td></tr>

<tr><td align=right>
Scrollbars
</td><td align=left>
<INPUT TYPE="radio" CHECKED NAME="rscroll" VALUE="">Yes
<INPUT TYPE="radio" NAME="rscroll" VALUE="">No
</td></tr>

<tr><td align=right>
Status
</td><td align=left>
<INPUT TYPE="radio" CHECKED NAME="rstat" VALUE="">Yes
<INPUT TYPE="radio" NAME="rstat" VALUE="">No
</td></tr>

<tr><td align=right>
Toolbar
</td><td align=left>
<INPUT TYPE="radio" CHECKED NAME="rtool" VALUE="">Yes
<INPUT TYPE="radio" NAME="rtool" VALUE="">No
</td></tr>

<tr><td align=right valign=top>
<INPUT TYPE="button" VALUE="Make window" onclick="MakeWindow(document.winmaker)">
</td><td align=left>
<TEXTAREA NAME="txtTest" VALUE="" COLS=30 ROWS=4 >  
</TEXTAREA>
</td></tr>

</table>

</FORM>