超酷的通用分页显示控制 (五) 添加、删除、修改记录、类别设置(下)

发表于:2007-06-30来源:作者:点击数: 标签:
三 和记录显示有关的客户端代码: 在 listrecordscon.inc 中增加了更多的控制 script language= java script var pagenum = %=theCurrentPageNum% ; // 单击“选择本页所有记录”复选框时触发 function CheckAll(form) { for (var i=0;iform.elements.length;
<三> 和记录显示有关的客户端代码:

在 listrecordscon.inc 中增加了更多的控制


<script language="javascript">

var pagenum = <%=theCurrentPageNum%> ;

// 单击“选择本页所有记录”复选框时触发
function CheckAll(form)
  {
  for (var i=0;i<form.elements.length;i++)
    {
    var e = form.elements[i];
    if (e.name != ‘’chkall‘’ && e.name !=‘’chkallpage‘’)
       e.checked = form.chkall.checked;
    }
  }

// 单击“选择本类所有记录”复选框时触发
function CheckAllPage(form)
{
    for (var i=0;i<form.elements.length;i++)
    {
        var e = form.elements[i];
        if (e.name != ‘’chkallpage‘’)
            e.checked = form.chkallpage.checked;
    }
}

// 检查是否选择了记录
function checkbox(form)
{
    var theLength;
    var i,j;

    theLength = form.chk.length;
    i = 0;
    j = 0;

    while(i<theLength){
        if (form.chk[i].checked)
            j ++ ;
        i ++ ;
    }

    if (j==0 && !form.chk.checked){
        alert("请先选择记录");
        return false ;
    }
    return true ;
}

// 单击“删除”按钮时触发
function del(form)
{
    var classid;

    if (!checkbox(form)){
        return false;
    }
    else
        if (confirm(‘’您确信要删除这些记录吗?‘’)){
        <% if theQueryClass <> "" then %>
            // classid 在 query.inc 中的 for_query 表单中
            classid    = "?classid="+document.form_query.classid.value;
        <% else %>
            classid = "";
        <% end if %>
            // theActionScript 隐含域,在调用 listrecords() 函数时生成
            form.action = form.theActionScript.value + "_delete.asp"+classid;
            form.submit() ;
        }
}

var openwin_add ;
var init = "<%=theInit%>";

// 单击“添加”按钮时触发
function add(pn)
{
<% if theQueryClass <> "" then %>
    // classid 在 query.inc 中的 for_query 表单中
    // 自动选择当前类别
    classid    = "&classid="+document.form_query.classid.value;
<% else %>
    classid = "";
<% end if %>
    window.open(‘’<%=theActionScript%>_edit.asp?pn=‘’+pagenum+classid+‘’<%=theTableClassStr%>‘’+init, ‘’‘’, ‘’width=<%=theWinW%>,height=<%=theWinH%>,resizable=0,scrollbars=yes‘’);

}

var openwin_edit;
function edit(id,pn)
{
    window.open(‘’<%=theActionScript%>_edit.asp?id=‘’+id+"&pn="+pagenum+‘’<%=theTableClassStr%>‘’, ‘’‘’, ‘’width=<%=theWinW%>,height=<%=theWinH%>,resizable=0,scrollbars=yes‘’);
}

var openwin_view;
function view(id,pn)
{
    window.open(‘’<%=theActionScript%>_view.asp?id=‘’+id+"&pn="+pagenum+‘’<%=theTableClassStr%>‘’, ‘’‘’, ‘’width=<%=theWinW%>,height=<%=theWinH+12%>,resizable=0,scrollbars=yes‘’);
}

// 如果有类别,则提供类别设置

<% if theQueryClass <> "" then %>

var openwin_cls;
function set_class(pn)
{
window.open(‘’../asp/setclass.asp?parentwinpn=‘’+pagenum+‘’&tableclass=<%=theQueryClass%>‘’, ‘’‘’, ‘’width=<%=theWinW_cls%>,height=<%=theWinH_cls%>,resizable=0,scrollbars=no‘’);
}

<% end if %>

</script>

<%
‘’ 显示全选项和“删除”按钮
if theRsCount > 0 then
    if theQueryClass <> "" then uClass = "本类" else uClass = ""
    %>
    <input type="checkbox" id="id_chkall" name="chkall" value="1" onclick="javascript:CheckAll(this.form);"><label for="id_chkall">选择本页所有记录</label> 
    <%
    ‘’ 如果不想显示“类别设置”按钮,则可以通过设置 theListClass = 0 来屏蔽
    if theListClass = 0 then
    else %>
    <input type="checkbox" id="id_chkallpage" name="chkallpage" value="1" onclick="javascript:CheckAllPage(this.form);"><label for="id_chkallpage">选择<%=uClass%>所有记录</label> 
    <% end if %>
    <input type="button" name="delrec" value="删除记录" onclick="javascript:del(this.form);" class="form_button">
    <%
end if
‘’ 显示“添加”按钮,使用 select 方式是为了以后的扩充
if theConType <> "" then
    theConType = split(theConType,",")
    for each element in theConType
        element = cint(element)
        select case element
        case 1    ‘’ 删除:程序默认
        case 2    ‘’ 添加
        %>
        <input type="button" name="addrec" value="添加记录" onclick="javascript:add(<%=theCurrentPageNum%>);return false;" class="form_button">
        <%
        end select
    next
end if

‘’ 显示“类别设置”按钮
if theQueryClass <> "" then
    ‘’ 如果不想显示“类别设置”按钮,则可以通过设置 theListClass = 0 来屏蔽
    if theListClass = 0 then
    else
        %>
        <input type="button" name="setclass" value="类别设置" onclick="javascript:set_class(<%=theCurrentPageNum%>);return false;" class="form_button">
        <%
    end if
end if
%>


在下一篇中,我将以 setclass.asp 为例,来讨论完整的分页控制的应用。

原文转自:http://www.ltesting.net