常见错误原因定位
1. Not Found
定位:检查mainpage.php 是否有该函数,有可能Notepad文件没保存
2. Internal Server Error
定位:一定是代码错误,仔细查看
3. An Error Was Encountered You have specified an invalid database connection group.
定位:检查config.php文件
4. http://ip:port/gri/program/index.php 打不开, 加载很慢
检查view文件中的link和script是否引用了外部文件(无法访问)而导致速度慢。
开发方法论
1. 常用格式
(1). 手风琴
<div class="accordion" id="accordion1" >
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#collapseOne">库.表</a>
</div>
<div id="collapseOne" class="accordion-body collapse in">
<div class="accordion-inner">
</div>
</div>
</div>
可参考:http://v2.bootcss.com/javascript.html#collapse
(2) Tab
<div id="app_tabs">
<ul class="nav nav-tabs">
<li class="active"><a href="#tabs-1" data-toggle="tab" οnclick="ShowFileTable();">文件管理</a></li>
<li><a href="#tabs-2" data-toggle="tab" οnclick="CreateNewFile();">文件录入</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tabs-1">
<div id="FileTable"></div>
</div>
<div class="tab-pane" id="tabs-2">
<div id="FileManageID" class="gri_wrapper" style="width:90%;display:none;"></div>
</div>
</div>
</div>
2. 表单选择输入框以及判断提示
<form class="form-inline well">
<div class="row-fluid">
<div class="span6">
<label style="margin-left:100px">DataBase</label>
<select id="SelectDB" style="height:30px">
<option value="">全部</option>
</select>
<span id="SelectDBSpan" style="display:none"></span>
</div>
</form>
3.常用标签
链接:<a href="javascript:test();">说明</a>
按钮:<button type="button" class="btn btn-primary" οnclick="test();">说明</button>
图片: <i class="icon-upload icon-white"></i>
输入:<input type="text" id="yourId" name="yourName" para="required" value="yourValue"/>
4. 样式
居右:<div id="FlushID" align="right" style="display:none;">
5. 表格
<div class="gri_wrapper">
<table class="gri_stable">
<thead><tr><th></th></tr></thead> // 表头
<tbody><tr><td></td></tr></tbody> // 表体
</table>
</div>
6.为表格添加序号
/***************************************************************************************************\
FuncName: SequenceNo(sTbodyId, iColumn)
Describe: 序号,iColumn指定数组下标0~n-1,若iColumn=-1表示添加到最后一列
\***************************************************************************************************/
function SequenceNo(sTbodyId, iColumn)
{
var oTbody = document.getElementById(sTbodyId);
vecAllRows = oTbody.getElementsByTagName('tr');
//for (var i=0; i<vecAllRows.length; i++)
for (var i=vecAllRows.length-1; i>=0; i--)
{
vecAllCols = vecAllRows[i].getElementsByTagName('td');
var index = iColumn;
if (index == -1)
{
index = vecAllCols.length-1;
}
vecAllCols[index].innerHTML = i+1;
}
}
7. 刷新
// 自动刷新 全局变量
var GLOBAL_SHARD_TABLE = -1;
//开始
function StartFlush()
{
//设置定时刷新
GLOBAL_SHARD_TABLE = setInterval("yourFunction()",3000);
}
//结束
function StopFlush()
{
if(GLOBAL_SHARD_TABLE != -1)
{
clearInterval(GLOBAL_SHARD_TABLE);
GLOBAL_SHARD_TABLE = -1;
}
}
8. 流水输出,倒序追加
/*********************************************************\
Brief : 定义显示类型
SeqType.SEQ : 顺序追加(追加在最尾部)
SeqType.UNSEQ : 逆序追加(追加在行最前部)
\*********************************************************/
var SeqType = {
SEQ : 0,
UNSEQ : 1,
};
var InputUtil = function(sId, iSeqType)
{
// 需要传入ID 和 正序或逆序显示
this.m_sId = sId;
this.m_iSeqType = iSeqType;
// 追加并进行显示
this.AppendString = function(sDisplay, thisObj)
{
// 进行字符串判空
if ('' == sDisplay)
{
return;
}
// 根据显示类型,进行显示
if (SeqType.SEQ == thisObj.m_iSeqType)
{
sInfo = $(thisObj.m_sId).val();
sInfo = Date() + " : " + sInfo + '\n' + sDisplay;
$(thisObj.m_sId).val(sInfo);
}
else if (SeqType.UNSEQ == thisObj.m_iSeqType)
{
sInfo = $(thisObj.m_sId).val();
sInfo = Date() + " : " + sDisplay + '\n' + sInfo;
$(thisObj.m_sId).val(sInfo);
}
}
};
使用方法:
HTML部分:<textarea id="Output" rows="10" style="color:gray;width:90%" readonly="true"></textarea>
Script部分:var pObj = new InputUtil('#Output', 1);
9. 显示和隐藏区域
<h4><a href="javascript:ShowHide('show_hide_ctl', 'InputArea')" id="show_hide" value="0">说明</a></h4>
<textarea id="InputArea" rows="10" style="font-size: 18px;width:90%"></textarea>
/***************************************************************************************************\
FuncName: ShowHide(ValID, CtrlID)
Describe: 隐藏和可见
\***************************************************************************************************/
function ShowHide(ValID, CtrlID)
{
var sID = $("#" + ValID);
if(0 == sID.val())
{
sID.val("1");
}
else
{
sID.val("0");
}
$("#" + CtrlID).toggle();
}