|
Javascript教程篇 第 7 集
咱们开始吧! 我先写一个简单的语法。 在下面我加了两个 text- 元件 (element), 请将您的大名写入第一个空格, 并将您的 e-mail address 写入第二个空格。 您可在这两个空格中任意输入并按下按钮。 您也可以不输入任何东西就按下按钮试试! 对第一个空格而言, 若您没有键入任何东西, 电脑便会出现一个错误讯息, 并请您再输入一次。当然, 此空格会把任何输入的字串都视为 "合法的" 输入, 它无法辨认出您输入的名字是正确的或是胡编的。 即始您输入的是数字, 它也会把此数字当成您的大名。 例如您输入 '17', 它将会显示 '嗨 ! 17'。 接下来看看上述功能的原始码吧: <html> <head> <script language="JavaScript"> <!-- Hide function test1(form) { if (form.text1.value == "") alert("您没写上任何东西, 请再输入一次!") else { alert("嗨 "+form.text1.value+"! 您已输入完成!"); } } function test2(form) { if (form.text2.value == "" || form.text2.value.indexOf('@', 0) == -1) alert("这不是正确的 e-mail address! 请再输入一次!"); else alert("您已输入完成!"); } // --> </script> </head> <body> <form name="first"> Enter your name:<br> <input type="text" name="text1"> <input type="button" name="button1" value="输入测试" onClick="test1(this.form)"> <P> Enter your e-mail address:<br> <input type="text" name="text2"> <input type="button" name="button2" value="输入测试" onClick="test2(this.form)"> </body> 先看看 body- 之後的 HTML 语法。 我们嵌入了两个 text 元件和两个按钮。 第一个按钮呼叫test1(...), 第二个按钮呼叫 test2(...)。 this.form这个变数会将此 form 的名字(在此例中就是 first) 传给函式 (function), 以便能正确将元件 "定址" (address)。
您知到有几种方法可用来送出 form 的内容吗? 最简单的方法就是利用 e-mail 来送出 form 的内容。 我下面介绍的方法就是属於这一种。 若您不想利用 e-mail 来送出form 的内容且想让 server 能自动处理 form 的输入值, 此时此刻只有 CGI 能做得到。 譬如您想做一个类似 Yahoo 可以让使用者迅速得到结果的搜寻引擎 (search engine), 您就必须使用 CGI。 如此一来使用者才不需等待系统管理者处理 form 的输入值, 而可由 server 自动处理并迅速将处理结果报告给使用者。 目前 JavaScript 无法达到此种功能。 即使您想制做一个 "访客签名簿" (guestbook), 也不可能利用 JavaScript 来叫 server 自动将资料加入网页中。 目前只有CGI 能做到如此。 但您可以制做一个利用 e-mail 传送使用者资料的 guestbook, 只是您需以手动 (manual) 方式来处理使用者所传来的资料。 若您一天不是收到很多使用者送来的资料的话, 这也未尝不可。 <FORM METHOD=POST ACTION="mailto:your_email@goes.here"> <H3>您喜欢我的网页吗?</H3> <INPUT NAME="choice" TYPE="RADIO" VALUE="1">一点也不喜欢。<BR> <INPUT NAME="choice" TYPE="RADIO" VALUE="2" CHECKED>简直浪费我的时间。<BR> <INPUT NAME="choice" TYPE="RADIO" VALUE="3">这简直是 Net 上最烂的站台。<BR> <INPUT NAME="submit" TYPE="SUBMIT" VALUE="Send"> </FORM> 上述语法可藉由 e-mail 收到使用者对您网页的观感。 唯一的困扰是您可能会收到内容类似密语(cryptic)的 mail。 mail 内容的空格 (space) 有时会以 '+' 代替, 有时会以 '%20' 代替。 看+起+来+就+像+这+样。 我相信网路上应有某种程式可将收到的 mail 转换成 "可读" 的语句。
function setfocus() { document.first.text1.focus(); return; } 这项语法是将 "定焦" 放在第一个 text- 元件上 (以本章为例, 就是在 "请输入您的大名" 的空格中有游标在闪烁)。 您必需在语法中指定您想 "定焦" 的表单名字 (以本章为例, 就是first) 和元件的名字(以本章为例, 就是 text1)。 若您在一开始载入网页时就想 "定焦" 於某个元件上, 只要在 <body>- tag 中利用 onLoad- 即可 : <body onLoad="setfocus()"> |