ࡱ> 5@ 1bjbj22 "XX)KKKK,"LeOOOOOOOO-e/e/e/e/e/e/e$fRhxSeIPOOIPIPSeOOheYYYIP.OO-eYIP-eY$Y;Y[ \OO JKwVR[Q\~e0e[,niVDni \ni \HO>XO,YO$OOOOSeSe%'D$ Y 'Form examples HTML forms generally are used for the site visitor to enter information that is sent off to another script to be processed. This processing often is done with what is termed middleware or server-side scripting or programming. This is programming done on the server computer where the files are stored as opposed to the client computer running the browser program. However, you can use JavaScript to process form information. This is sometimes called client-side scripting. All the JavaScript discussed in this course is client-side scripting. The JavaScript code presents the results back to the visitor using fields in the form, alert statements or changing the contents of the HTML page using what is called dynamic HTML. This tutorial makes use of the first way: using fields in the form. The fields are input elements, but they are used for output! Here is a line by line explanation of each of the forms examples. Each example uses the same approach. The form tag has an onsubmit attribute that specifies a call to a function. To put it another way, the function does the handling for the event of the form being submitted. The function processes the form data. The results are placed in input fields in the form. The concept of data type was discussed in the introductory notes. The type of data entered into forms is character string (also called simply string). However, in some cases, these strings are meant to be interpreted as numbers. In some cases, it seems like this conversion to numbers is done by itself and in other cases, something needs to be done explicitly. See the explanations. The first example does calculations based on the user entering in data representing the number of boxes of chocolate and boxes of cocoa. The data is converted to be numbers because they are multiplied by variables holding numbers representing the prices. If you try this with different values, you will notice that some of the time, the price totals are not properly formatted. You will learn how to fix this in the next example. Computation test Usual HTML End the definition of the function and close the script elementClose head sectionStart body section

Application Form for Chocolate

Heading
Horizontal rule
Define a form: give it a name. Set the onsubmit attribute to be calling the total function with this form as the argument. The this has a special meaning. Making the onsubmit include the return will prevent the page from being reloaded.Enter number of goods in each category.Text: instruction to userBoxes of Chocolate:
Labelling text plus an input tag for the user (customer) to put in number of chocolate boxesBoxes of Cocoa:
Same for cocoa.Total:Text labeling what will be the outputsInput element where the calculated total cost will go.Input element where the calculated total will goForm element for the submit button, with the label Compute totals.
Ending HTML tags. The next example adds up three numbers. The one tricky thing here is to make sure that the input gets interpreted as numbers and not strings. Add 3 numbers HTML tags Script close tag and head close tagStart body elementAddition:
Text
Form tag. Form has name fx. Onsubmit the addup function will be called for this form.Enter value:
Labelling text plus input element for data named one.Enter value:
Same for data named twoEnter value:
Same for data named threeThe sum is:
Labelling text plus input element with the name sum.
Submit buttonReset form button. This is a built-in HTML feature.
End of formEnd of bodyEnd of html The Coffee shop makes use of pulldown lists and radio buttons. Accessing this data requires slightly more complicated JavaScript then accessing data in input elements of type text. This example also does some formatting of the price result to make it be properly formatted dollars and cents. For example, if the answer is 3.5, you want the display to be 3.50. CalculationOpening html tags End script element and head element

Coffee shop

Start body, heading

Form tag. Give the form a name. On submit event, call the addup function with this form as the argument
End the select. Line break.TallFirst of what will be more radio buttons grouped together by having the same name, sizef. Each has a value and text next to it.GrandThe next radio button. SuperAnother radio button.
The submit button.
This is an input element with the name label. It will be used for output.This is an input element with the name totalf. It will be used for output.
End form. End body.End html. Exercises: Change the constant values in all of these examples. Test to make sure it does what you expected. In the adding up numbers exercise, remove the 1* to make the line read: total = f.one.value + f.two.value + f.three.value; and try the program. What do you think is happening? The answer is that the data is being treated as strings and the + operator is string concatenation. Put the formatting code in the last example into the first example.  { 3 " 9 : deDNOode}9:N`a45N̶̶h15OJQJ^J hw5hw5h;@hw5hw55OJQJ^Jh1h`4hlhC5OJQJ^JhChlhYhw5Hl m deDOPhzkd$$Ifl0_," t0644 la $Ifgdw5 $IfgdCgdw5gdw5 1Poerzkd_$$Ifl0_," t0644 la $Ifgdw5 $IfgdCef{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd|$$Ifl0_," t0644 la:{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la:;Na{r $Ifgdw5 $IfgdCzkd:$$Ifl0_," t0644 laab{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la5{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la56N{r $Ifgdw5 $IfgdCzkdW$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la2{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la12@1Hab0?@HnoGEGHr{|./;YZuvh`4hKhw5h1hw55OJQJ^Jhq hw5hw5h;@hw5hw55OJQJ^JL23@{r $Ifgdw5 $IfgdCzkdt$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd2$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la1{r $Ifgdw5 $IfgdCzkdO$$Ifl0_," t0644 la Hb{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 labc{r $Ifgdw5 $IfgdCzkd $$Ifl0_," t0644 la0@{r $Ifgdw5 $IfgdCzkdl$$Ifl0_," t0644 la@AHo{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 laop{r $Ifgdw5 $IfgdCzkd*$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 laG{r $Ifgdw5 $IfgdCzkd$$Ifl0_," t0644 la{r $Ifgdw5 $IfgdCzkdG $$Ifl0_," t0644 laFGHr|vm $Ifgdw5 $IfgdCgdw5zkd $$Ifl0_," t0644 la|}{r $Ifgdw5 $IfgdCzkd $$Ifl0,"_9 t0644 la/{r $Ifgdw5 $IfgdCzkdd $$Ifl0,"_9 t0644 la/0;Z{r $Ifgdw5 $IfgdCzkd $$Ifl0,"_9 t0644 laZ[v{r $Ifgdw5 $IfgdCzkd" $$Ifl0,"_9 t0644 lavw{r $Ifgdw5 $IfgdCzkd $$Ifl0,"_9 t0644 la{r $Ifgdw5 $IfgdCzkd $$Ifl0,"_9 t0644 la{r $Ifgdw5 $IfgdCzkd? $$Ifl0,"_9 t0644 la={r $Ifgdw5 $IfgdCzkd $$Ifl0,"_9 t0644 la<=>DEXYhlm#XY;MNw   ! " !!!!!!!!! "e"f"s""澺ɖɖɖ hChChChC5OJQJ^JhC5OJQJ^JhCh1hw55OJQJ^JhChw5h`45OJQJ^J hw5hw5h`4hw5hw55OJQJ^Jh`45OJQJ^J;=>EX{r $Ifgdw5 $IfgdCzkd $$Ifl0,"_9 t0644 laXYhm{r $Ifgdw5 $IfgdCzkd\ $$Ifl0,"_9 t0644 lamn{r $Ifgdw5 $IfgdCzkd $$Ifl0,"_9 t0644 la#Y{r $Ifgdw5 $IfgdCzkd$$Ifl0,"_9 t0644 laYZ{r $Ifgdw5 $IfgdCzkdy$$Ifl0,"_9 t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0,"_9 t0644 laN{r $Ifgdw5 $IfgdCzkd7$$Ifl0,"_9 t0644 laNOw{r $Ifgdw5 $IfgdCzkd$$Ifl0,"_9 t0644 la{r $Ifgdw5 $IfgdCzkd$$Ifl0,"_9 t0644 la{r $Ifgdw5 $IfgdCzkdT$$Ifl0,"_9 t0644 la {r $Ifgdw5 $IfgdCzkd$$Ifl0,"_9 t0644 la  {r $Ifgdw5 $IfgdCzkd$$Ifl0,"_9 t0644 la ! " !!!!zqq $IfgdCgdCgdw5zkdq$$Ifl0,"_9 t0644 la!!!!{{ $IfgdCzkd$$Ifl0,"i/ t0644 la!! "f"{{ $IfgdCzkd/$$Ifl0,"i/ t0644 laf"g"s""{{ $IfgdCzkd$$Ifl0,"i/ t0644 la""""""""####$ $5$F$G$i$$$$$%%#%n%o%u%%%%%%&#&$&E&|&}&&&&&/'0'K'''''''(l(m(|(((((((((")))))))))******+*>*a*b**hh1hChChC5OJQJ^JhChC5OJQJ^J hChCR""""{{ $IfgdCzkd$$Ifl0,"i/ t0644 la""""{{ $IfgdCzkdL$$Ifl0,"i/ t0644 la""##{{ $IfgdCzkd$$Ifl0,"i/ t0644 la### ${{ $IfgdCzkd $$Ifl0,"i/ t0644 la $ $5$G${{ $IfgdCzkdi$$Ifl0,"i/ t0644 laG$H$i$${{ $IfgdCzkd$$Ifl0,"i/ t0644 la$$$%{{ $IfgdCzkd'$$Ifl0,"i/ t0644 la%%#%o%{{ $IfgdCzkd$$Ifl0,"i/ t0644 lao%p%u%%{{ $IfgdCzkd$$Ifl0,"i/ t0644 la%%%%{{ $IfgdCzkdD$$Ifl0,"i/ t0644 la%%&$&{{ $IfgdCzkd$$Ifl0,"i/ t0644 la$&%&E&}&{{ $IfgdCzkd$$Ifl0,"i/ t0644 la}&~&&&{{ $IfgdCzkda$$Ifl0,"i/ t0644 la&&&0'{{ $IfgdCzkd$$Ifl0,"i/ t0644 la0'1'K''{{ $IfgdCzkd$$Ifl0,"i/ t0644 la''''{{ $IfgdCzkd~$$Ifl0,"i/ t0644 la''(m({{ $IfgdCzkd$$Ifl0,"i/ t0644 lam(n(|(({{ $IfgdCzkd<$$Ifl0,"i/ t0644 la(((({{ $IfgdCzkd$$Ifl0,"i/ t0644 la(((({{ $IfgdCzkd$$Ifl0,"i/ t0644 la((")){{ $IfgdCzkdY$$Ifl0,"i/ t0644 la)))){{ $IfgdCzkd$$Ifl0,"i/ t0644 la)))){{ $IfgdCzkd$$Ifl0,"i/ t0644 la)***{{ $IfgdCzkdv$$Ifl0,"i/ t0644 la***+*{{ $IfgdCzkd$$Ifl0,"i/ t0644 la+*,*>*b*{{ $IfgdCzkd4$$Ifl0,"i/ t0644 lab*c***{{ $IfgdCzkd$$Ifl0,"i/ t0644 la****6+7+N++++++,,,-,I,c,d,t,,,,A-B-v-------..@....../#/$/-/6/7/8/9/D////"0%00111hlhl5OJQJ^J hlhlhlhC5OJQJ^JhChC5OJQJ^J hChCh8***7+{{ $IfgdCzkd$$Ifl0,"i/ t0644 la7+8+N++{{ $IfgdCzkdQ$$Ifl0,"i/ t0644 la++++{{ $IfgdCzkd$$Ifl0,"i/ t0644 la++,-,{{ $IfgdCzkd$$Ifl0,"i/ t0644 la-,.,I,d,{{ $IfgdCzkdn$$Ifl0,"i/ t0644 lad,e,t,,{{ $IfgdCzkd$$Ifl0,"i/ t0644 la,,,B-{{ $IfgdCzkd,$$Ifl0,"i/ t0644 laB-C-v--{{ $IfgdCzkd$$Ifl0,"i/ t0644 la----{{ $IfgdCzkd$$Ifl0,"i/ t0644 la---.{{ $IfgdCzkdI $$Ifl0,"i/ t0644 la..@..{{ $IfgdCzkd $$Ifl0,"i/ t0644 la....{{ $IfgdCzkd!$$Ifl0,"i/ t0644 la.//$/{{ $IfgdCzkdf!$$Ifl0,"i/ t0644 la$/%/-/7/{{ $IfgdCzkd!$$Ifl0,"i/ t0644 la7/8/9/D//011zrrrp & FgdlgdlgdCzkd$"$$Ifl0,"i/ t0644 la 1h/ =!"#$%]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh55#v#v:Vl t655]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5_59#v_#v9:Vl t65_59]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ ]$$If!vh5i5/ #vi#v/ :Vl t65i5/ @@@ NormalCJ_HaJmH sH tH \@\ w5 Heading 2$<@& 56CJOJQJ\]^JaJDA@D Default Paragraph FontRi@R  Table Normal4 l4a (k@(No Listj@j w5 Table Grid7:V0) lmdeDOPoe f   : ; N a b  5 6 N 2 3 @ 1 Hbc0@AHopGFGHr|}/0;Z[vw=>EXYhmn#YZNOw   !" fgs  5GHi#opu$%E}~01K m n | "!!!!!!!!"""""+",">"b"c"""""7#8#N######$-$.$I$d$e$t$$$$B%C%v%%%%%%%&&@&&&&&''$'%'-'7'8'9'D''())0000p00p00p00p0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00lmdeDOPoe f   : ; N a b  5 6 N 2 3 @ 1 Hbc0@AHopGFGHr|}/0;Z[vw=>hmn#YZNOw   !" fgs  5GHi#opu$%E}~01K m n | "!!!!!!!!"""""+",">"b"c"""""7#8#N######$-$.$I$d$e$t$$$$B%C%v%%%%%%%&&@&&&&&''$'%'-'7'8'9'D'))00000000000000000000 00 04 0h 0h 0l 0h 0h 0l 0h 0h 0l 0h 0h 0l 0h 0h 0l 0h 0h 0l 0h 0h 0l 0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h0h0h0h0h0l0h0h0l0h0h0l0h0h0l0h0h0l0h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h00h0h0h0h0h00h0h00h0h00h0h00h0h000000000000000 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 06"*1'?PlPe:a52b@o|/Zv=XmYN !!f""""# $G$$%o%%%$&}&&0'''m(((()))*+*b**7+++-,d,,B---...$/7/1 !"#$%&()*+,-./0123456789:;<=>@ABCDEFGHIJKLMNOQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{1Vt ,G"Wt < Xt Yt ! $ $)$$)8*urn:schemas-microsoft-com:office:smarttagsCity9*urn:schemas-microsoft-com:office:smarttagsplace f i j x  {   ; > ? F b e f o r     6 B C L Z c X`,.03epuwdfz|~!#,"su?GgjGY  !$-013MNSc*-PZeh %2~136D !!!!"""""" ##^#f#C$G$p$r$$$%%]%b%%%%%&&&&&&'((((()%13 (%()333333NeDPhof  ; 6 N 3 @ Hc0H;[gw>nw" 5HQRqu% n "!!>"""$.$4$t$%C%v%%%!&'''%'-'9')) Jeanine MeyereH (h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.eH            w5#rq`4K1CY;@lCDOPoe f   : ; N a b  5 6 N 2 3 @ 1 Hbc0@AHopGHr|}/0;Z[vw=>EXYhmn#YZNOw   ! fgs  5GHi#opu$%E}~01K m n | "!!!!!!!!"""""+",">"b"c"""""7#8#N######$-$.$I$d$e$t$$$$B%C%v%%%%%%%&&@&&&&&''$'%'-'7'8')@))D))@{)@UnknownGz Times New Roman5Symbol3& z Arial?5 z Courier New"qh qf qf"J"J!24(( 3QH)?#r Form examples Jeanine Meyer Jeanine Meyer Oh+'0   < H T`hpxForm examplesoormJeanine MeyeroeaneanNormal Jeanine Meyero6anMicrosoft Word 10.0@4@Tٱ@,"՜.+,0 hp|  eJ(A Form examples Title  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|~Root Entry F`ΥData }"1Table~iWordDocument"SummaryInformation(DocumentSummaryInformation8CompObjj  FMicrosoft Word Document MSWordDocWord.Document.89q