当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript编制留言簿程序代码

Javascript
将HTML自动转为JS代码
一端时间轮换的广告
制作特殊字的脚本
美化下拉列表
文字幻灯片
判断是否输入完毕再激活提交按钮
JS控制表格隔行变色
左右两侧的广告代码 简单
父窗口获取弹出子窗口文本框的值
网页的标准,IMG不支持onload标签怎么办
一个很简单的办法实现TD的加亮效果.
文本框栏目介绍
自动检查并替换文本框内的字符
会自动逐行上升的文本框
列表内容的选择
对textarea框的代码调试,而且功能上使用非常方便,酷
提高代码性能技巧谈—以创建千行表格为例
Javascript的IE和Firefox兼容性汇编
让插入到 innerHTML 中的 script 跑起来
DEFER怎么用?

Javascript 中的 JavaScript编制留言簿程序代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 232 ::
收藏到网摘: n/a

也许你有一个很酷的主页,很希望与人分享。同时,你希望访问你主页的人能对你的主页提供一些意见和建议,或者你对某个主题感兴趣,而希望客人也许能给你一帮助,这就要用到留言簿。留言簿使得你能与每一个访问你主页的人交换信息。 怎样编制留言簿程序呢?留言簿程序并不难,有很多选择可以实现,如CGI程序等等。本文介绍怎样用JavaScript编制留言簿程序,下面是一个完整的例子。
----我们提供了一个表单,表单里有姓名、客人的电子邮件地址、使用的浏览器版本、国家名、意见和建议和所喜欢的站点等等。客人填写完这些字段后,按Submit按钮,信息就会通过电子邮件的形式寄给你。程序中提供了几个函数,大部分是用来对字段进行合法性检查的。下面我们对函数作一个简单的说明。
----函数Reset()按Reset按钮后对各字段的内容复位。
----函数submitForms()按submit按钮后对字段合法性检查后发送电子邮件。
----函数isName()对姓名字段进行合法性检查。
----函数isEmail()对电子邮件地址字段进行合法性检查。
----函数isBrowser()对浏览器字段与自动检测的浏览器版本进行比较。
----函数isCountry()对国家字段进行合法性检查。
----函数isComment()对意见字段进行合法性检查,不允许为空值。
----函数isFavorite()对喜欢的站点字段进行合法性检查,不允许为空值。
----程序中还提供了一些技巧,例如,如何判断浏览器的版本,字符串的操作等等。
----结果是以电子邮件的形式提供给你的,里面有客人输入的各个字段。程序比较长,但不难看懂,下面是源代码:
也许你有一个很酷的主页,很希望与人分享。同时,你希望访问你主页的人能对你的主页提供一些意见和建议,或者你对某个主题感兴趣,而希望客人也许能给你一帮助,这就要用到留言簿。留言簿使得你能与每一个访问你主页的人交换信息。
<HTML>
<HEAD>
<TITLE> 用JavaScript 编 制 留 言 簿 程 序</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
//[email protected] 是 你 自 己 的 电 子 邮 件 地 址
var emailAddress="[email protected]";
function toName()
{
var toNameval=document.forms[0].elements[1].value;
toNameval = "mailto:[email protected]?subject=Guest Book example";
this.document.mail.action = toNameval;
}
function Reset() {
document.forms[0].elements[0].value = "";
document.forms[0].elements[1].value = "";
document.forms[0].elements[2].value =
navigator.appName + " " + navigator.appVersion;
document.forms[0].elements[3].value = "";
document.forms[0].elements[4].value = "";
document.forms[0].elements[5].value = "";
document.forms[0].elements[0].focus();
}
function submitForms() {
if ( (isName() ) && (isEmail()) && (isBrowser())
&& (isCountry()) && (isComment()) && (isFavorite()) )
if (confirm("nYou're about to e-mail the form.nnClick
on YES to submit.nnClick on NO to abort."))
{
alert("nYour submission will now be made to :
nn"+emailAddress+"nnnThank you!");
return true;
}
else
{
alert("nYou have chosen to abort the submission.");
return false;
}
else
return false;
}
function isName() {
var str = document.forms[0].elements[0].value;
if (str == "") {
alert("nThe NAME field is blank.nnPlease enter your name.")
document.forms[0].elements[0].focus();
return false;
}
for (var i = 0; i <str.length; i++)
{
var ch = str.substring(i, i + 1);
if (((ch <"a" || "z" <ch) && (ch <"A" || "Z" <ch)) && ch != ' ')
{
alert("nThe NAME field only accepts letters
& spaces.nnPlease re-enter your name.");
document.forms[0].elements[0].select();
document.forms[0].elements[0].focus();
return false;
}
}
return true;
}
function isEmail()
{
emailAddress=document.forms[0].elements[1].value;
if (document.forms[0].elements[1].value == "") {
alert("nThe E-MAIL field is blank.
nnPlease enter your e-mail address.")
document.forms[0].elements[1].focus();
return false;
}
if (document.forms[0].elements[1].value.indexOf ('@',0) == -1 ||
document.forms[0].elements[1].value.indexOf ('.',0) == -1)
{
alert("nThe E-MAIL field requires a "@" and a "."be used.nnPlease re-enter your e-mail address.")
document.forms[0].elements[1].select();
document.forms[0].elements[1].focus();
return false;
}
else
{
toName();
return true;
}
}
function isBrowser()
{
if (document.forms[0].elements[2].value !
= navigator.appName + " " + navigator.appVersion)
{
if (confirm("nYou've changed your browser
type.nnClick on OK to keep changes.
nnClick on Cancel to restore detected browser."))
return true
else
{
document.forms[0].elements[2].value =
navigator.appName + " " + navigator.appVersion;
return true;
}
}
else
return true;
}
function isCountry() {
var str = document.forms[0].elements[3].value;
if (str == "") {
alert("nThe COUNTRY field is
blank.nnPlease enter your country.")
document.forms[0].elements[3].focus();
return false;
}
for (var i = 0; i <str.length; i++) {
var ch = str.substring(i, i + 1);
if (((ch <"a" || "z" <ch) &&
(ch <"A" || "Z" <ch)) && ch != ' ')
{
alert("nThe COUNTRY field only accepts
letters & spaces.nnPlease re-enter your country.");
document.forms[0].elements[3].select();
document.forms[0].elements[3].focus();
return false;
}
}
return true;
}
function isComment() {
if (document.forms[0].elements[4].value == "") {
if (confirm("nYou're about to submit
without leaving a comment.nnClick
on CANCEL to include a comment.nnClick
on OK to continue without a comment."))
return true
else
{
document.forms[0].elements[4].focus();
return false;
}
}
else
return true
}
也许你有一个很酷的主页,很希望与人分享。同时,你希望访问你主页的人能对你的主页提供一些意见和建议,或者你对某个主题感兴趣,而希望客人也许能给你一帮助,这就要用到留言簿。留言簿使得你能与每一个访问你主页的人交换信息。
function isFavorite() {
if (document.forms[0].elements[5].value == "") {
if (confirm("nYou're about to submit without
listing your favorite sites.nnClick on CANCEL
to include favorites.nnClick on OK to continue
without listing favorites."))
return true
else
{
document.forms[0].elements[5].focus();
return false;
}
}
else
return true
}
// End -->
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<FORM ENCTYPE="text/plain"
NAME="mail" METHOD='GET'
ACTION='mailto:[email protected]'
onSubmit="return submitForms()">
<TABLE BORDER=0 WIDTH=400>
<TR>
<TD align="center"> <FONT COLOR=800000>
<STRONG>Enter your name:</STRONG></FONT></TD>
<TD align="center"> <FONT COLOR=800000>
<STRONG>Enter your e-mail address:< /STRONG>
</FONT></TD>
</TR>
<TR>
<TD align="center"> <INPUT TYPE="text"
NAME="name" SIZE=30 MAXLENGTH=40 ></TD>
</TD>
<TD align="center"> <INPUT TYPE="text"
NAME="email" SIZE=30 MAXLENGTH=40></TD>
</TR>
<TR>
<TD align="center"> <FONT COLOR=800000>
<STRONG>Your browser </STRONG></FONT></TD>
<TD align="center"> <FONT COLOR=800000>
<STRONG>Enter your country:</STRONG></FONT></TD>
</TR>
<TR>
<TD align="center"> <INPUT TYPE="text" NAME="browser" SIZE=30 MAXLENGTH=60></TD>
<TD align="center"> <INPUT TYPE="text" NAME="country" SIZE=30 MAXLENGTH=60>
</TD>
</TR>
</TABLE>
<CENTER>
<FONT COLOR=800000><STRONG>
Leave a comment or suggestion:</strong> </font><BR>
<TEXTAREA NAME="comments"
ROWS=5 COLS=50 wrap=yes>Comments?
Suggestions?</TEXTAREA><P><P>
<FONT COLOR=800000><STRONG>
List your favorite sites:</STRONG></FONT><BR>
<TD align="center"><TEXTAREA NAME="favorites" ROWS=5 COLS=50 wrap=yes>
Any sites I should take a look at?</TEXTAREA>
<P><P>
<INPUT TYPE="submit" VALUE="Submit">
<center><INPUT TYPE="reset" VALUE="Reset"
onClick="Reset()">
</FORM>
</CENTER>
</BODY>
</HTML>