使用DOJO简单的构建一个页面

本文详细介绍了如何在MyEclipse环境下安装并配置DOJO框架,包括下载最新版包、设置字符集编码、引入样式、配置全局变量djConfig、设置CSS样式、利用dijit组件构建美观的表单,以及如何添加动态验证和日期选择器等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次使用DOJO,感觉DOJO非常强大

1.下载DOJO的包,最新版的是1.7.3,把包拷贝到MyEclipse的dojoroot目录下

修改dojoroot的字符集编码为utf-8,否则会报错,显示乱码

2.引入dojo的css样式

<style type="text/css">
    @import "<%=path%>/dojoroot/dijit/themes/tundra/tundra.css";
    @import "<%=path%>/dojoroot/dojo/resources/dojo.css"
</style>

 

 3.设置djConfig,它是DOJO的全局设置变量,可以控制DOJO的行为

parseOnLoad:设置为true后,在页面完成加载后,启动对DOJO标签进行解析

isDebug:开启调试模式,正式发行后设置为false

<script type="text/javascript" src="<%=path%>/dojoroo/dojo/dojo.js"  
        djConfig="parseOnLoad: true,isDebug:true">
</script>

 

 

4. 设置css样式,控制表单元素在页面中的位置

body标签的样式设置为: class="tundra"

.formContainer {
   width:600px;
   height:600px;
   margin: 0px 0px 0px 200px;
}
label {
   width:150px;
   float:left;
}

5. 传统的表单都是竖着放一排,那么这样的话,不太美观

dojo的dijit提供了类似于java的SWING的一个组建来构建页面

ContentPane 在内容周围创建边界,把各个组建放入边界内

TabContainer将ContentPane层叠,用户可以通过顶部选项卡选择

ValidationTextBox对单个控件验证

DateTextBox给文本框添加一个弹出式的日历选取器

dojoType="dijit.form.ValidationTextBox"如果为空的背景显示黄色警告

trim去掉空格

propercase首字母改为大写

regExp=".*@.*提供正则表达式验证


<div class="formContainer" dojoType="dijit.layout.TabContainer" 
   		style="width:600px;height:600px">
	<div dojoType="dijit.layout.ContentPane" title="Personal Data">
   		<label for="first_name">First Name:</label>
    	<input type="text" name="first_name" id="first_name" 
    			dojoType="dijit.form.ValidationTextBox" trim="true"
    			propercase="true" required="true" size="30" 
    			invalidMessage="请输入你的名字" /><br/>
    	<label for="last_name">Last Name:</label>
    	<input type="text" name="last_name" id="last_name" 
           size="30" /><br/>
   		<label for="middle_initial">Middle Initial:</label>
    	<input type="text" name="middle_initial" id="middle_initial" 
           size="1" /><br/>
        <label for="email">Email:</label>
        <input type="text" name="email" id="email" size="30"
        	   dojoType="dijit.form.ValidationTextBox" regExp=".*@.*"/>
	</div>
	<div dojoType="dijit.layout.ContentPane" title="Address">
    	<label for="address_line_1">Address Line 1:</label>
    	<input type="text" name="address_line_1" id="address_line_1" 
           size="30" /><br/>
    	<label for="address_line_2">Address Line 2:</label>
    	<input type="text" name="address_line_2" id="address_line_2" 
           size="30" /><br/>
    	<label for="city">City:</label>
    	<input type="text" name="city" id="city" 
           size="30" /><br/>
    	<label for="state">State:</label>
    	<input type="text" name="state" id="state" 
           size="2" /><br/>
    	<label for="postal_code">Postal Code:</label>
    	<input type="text" name="postal_code" id="postal_code" 
           size="15" /><br/>
    	<label for="country">Country:</label>
    	<input type="text" name="country" id="country" 
           size="30" /><br/>
    	<label for="date_move">Date of Move to this Address:</label>
    	<input type="text" name="date_move" id="date_move"
    	   dojoType="dijit.form.DateTextBox" size="11" /><br/>
	</div>
	<div dojoType="dijit.layout.ContentPane" title="Phones">
	    <label for="home_phone">Home Phone:</label>
	    <input type="text" name="home_phone" id="home_phone" 
	           size="30" /><br/>
	    <label for="work_phone">Work Phone:</label>
	    <input type="text" name="work_phone" id="work_phone" 
	           size="30" /><br/>
	    <label for="cell_phone">Cell Phone:</label>
	    <input type="text" name="cell_phone" id="cell_phone" 
	           size="30" /><br/>
	</div>
</div>

6.dojo.parser为dijit中配置使用声明式的dojoType所必须的

dojo.require动态获取所需的js,这个是必须要添加的

<script>
    dojo.require("dojo.parser");
    dojo.require("dijit.layout.ContentPane");
    dojo.require("dijit.layout.TabContainer");
    dojo.require("dijit.form.ValidationTextBox");
    dojo.require("dijit.form.DateTextBox");
</script> dojo.require("dojo.parser");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值