仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 947|回复: 14
打印 上一主题 下一主题

[学习教程] JAVA网页编程之JavaScript+PHP 使用一:网页制造中双...

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:18:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,netbeans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。在网页制造中,经常碰到这类情形,经由过程主下拉菜单的选择,静态的天生子下拉菜单。比方:在主菜单中有“核心旧事”、“生存时髦”、“心境故事”三个选项,经由过程“核心旧事”的选择,子菜单主动天生如“国际”、“国际”、“体育”、“文娱”,依此类推。
使用JavaScript,我们能够轻松完成上述效果。但成绩是,假如菜单中的选项是从数据库(或其他文件)中静态提取,完成起来就并非十拿九稳的了。笔者依据本人的实践履历,向人人先容一种使用JavaScript+PHP的完成办法,文中的数据库接纳MySQL。在本例中,笔者还将先容在每次表单提交以后,怎样前往上一次菜单选项的选择形态。
文章中所先容的PHP的感化,一是用来从数据库中提取菜单选项,另外一感化,就是用来天生JavaScript代码。读者能够接纳本人熟习的注释型言语,如ASP。
为了简化代码,笔者假定主菜单已经由过程HTML机关,因为子菜单必要静态计划,以是只绘制了基础框架,HTML代码以下:
<selectname="mmenu">//主菜单计划
<optionvalue="a">核心旧事</option>
<optionvalue="b">生存时髦</option>
<optionvalue="c">心境故事</option>
//value必需与下文的menu数组相分歧
</select>
<selectname="smenu">//子菜单计划
</select>
我们必要思索的是,菜单的OnChange()事务必要完成哪些步骤。其大抵历程是,依据主菜单的选项,机关子菜单项目。而子菜单的项目笔墨最功德先设定。依据这个思绪,笔者接纳了JavaScript中的团结数组纪录子菜单选项,并由PHP在加载时主动天生。由此,笔者计划了以下的JavaScript函数setMenu():
functionsetMenu(){
menu=Array("a","b","c");//机关menu团结数组
<?php//入手下手PHP程序
$DB=newMy_DB();
$DB->Database="***";//机关新的MySQL毗连,这里利用了PHPLIB
$mmenu=array("a","b","c");//这里笔者作了简化
for($i=0;$i<count($mmenu);$i++){
$id=$mmenu[$i];
$DB->query("selectmenufromclasswheremenuid=".$id."");
//假定菜单选项寄存在class表的menu字段,menuid用来标识menu
while($DB->next_record()){
$smenu[]=""".$DB->f("menu").""";
}
if(isset($smenu)&&is_array($smenu)){
$str=implode(",",$smenu);
echo"menu["$id"]=Array($str);
                ";
//完成menu团结数组的添补
unset($smenu);//删除smenu变量
}
}
?>//停止PHP程序
with(document){
id=all("mmenu").value;//取得主菜单的value值
arr_menu=menu[id];
for(i=all("smenu").options.length;i>=0;i--){
all("smenu").options.remove(i);//必要扫除原本的项目
}
if(arr_menu.length==0){
return;
}
for(i=0;i<arr_menu.length;i++){
obj=createElement("option");
obj.text=arr_class[i];
all("smenu").options.add(obj);
}
}
}
如许每次显现文档时,PHP部分将注释为Javascript言语,当单击主菜单时,子菜单将主动更新。一样事理,读者能够依据此思绪,制造更庞大的多重菜单选项。
最初,笔者扼要先容一下,怎样完成在表单提交后,仍旧坚持菜单项上一次的形态。技能实在良多,而笔者接纳的是隐含变量法。在表单中增加以下代码:
<inputtype="hidden"name="h1">
<inputtype="hidden"name="h2">
我们只必要在Form表单的OnSubmit()事务中给每一个隐含变量赋值便可。即:
document.all("h1").value=document.all("mmenu").selectedIndex;
document.all("h2").value=document.all("smenu").selectedIndex;
为了使用隐含变量,在文档的Body的onLoad()事务中,我们使用PHP办法(也可用别的办法)来把持菜单的显现:
<?php
if(!isset($h1)){//只必要判别$h1
$h1=0;
$h2=0;
}
echo"document.all("mmenu").selectedIndex=".$h1.";
                ";
echo"document.all("mmenu").click();
                ";
echo"document.all("mmenu").selectedIndex=".$h1.";
                ";
echo"document.all("smenu").selectedIndex=".$h2;
?>
至此,我们已完成双下拉菜单的静态完成办法。

一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-19 08:15:33 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
爱飞 该用户已被删除
板凳
发表于 2015-1-24 11:26:09 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
山那边是海 该用户已被删除
地板
发表于 2015-1-25 22:29:42 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
谁可相欹 该用户已被删除
5#
发表于 2015-1-27 09:50:19 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再现理想 该用户已被删除
6#
发表于 2015-1-31 07:26:56 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
分手快乐 该用户已被删除
7#
发表于 2015-2-5 14:42:10 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
若相依 该用户已被删除
8#
发表于 2015-2-12 06:51:45 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
柔情似水 该用户已被删除
9#
发表于 2015-2-13 22:25:38 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
莫相离 该用户已被删除
10#
发表于 2015-2-16 23:24:38 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
只想知道 该用户已被删除
11#
发表于 2015-3-6 21:05:12 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
蒙在股里 该用户已被删除
12#
发表于 2015-3-11 18:49:49 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
第二个灵魂 该用户已被删除
13#
发表于 2015-3-11 20:12:04 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
飘飘悠悠 该用户已被删除
14#
发表于 2015-3-12 14:36:12 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
海妖 该用户已被删除
15#
发表于 2015-3-19 22:54:51 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 12:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表