我再次在此处发布此问题,因为我需要以前的问题Checkbox in a ColdFusion form 的进一步帮助
<form action="view_emp_qual.cfm?show=yes" id="Myform" method="post" name="myform">
<table id="tab1" align="center">
<tr>
<td>
<input type="checkbox" onclick="return callme();"
<cfif structKeyExists(form, 'chkbox3')>
checked="checked"
</cfif>
name="chkbox3" id="chkbox3">
<strong>All Employees</strong>
<input type="checkbox" onclick="return callme1();"
<cfif NOT structKeyExists(form, 'fieldnames') OR structKeyExists(form, 'chkbox1') OR (structKeyExists(form, 'fieldnames') and structKeyExists(form, 'chkbox1'))>
checked="checked"
</cfif>
name="chkbox1" id="chkbox1" />
<strong>Agreement Only</strong>
<input type="checkbox" onclick="return callme1();"
<cfif NOT structKeyExists(form, 'fieldnames') OR structKeyExists(form, 'chkbox2') OR (structKeyExists(form, 'fieldnames') and structKeyExists(form, 'chkbox2'))>
checked="checked"
</cfif>
name="chkbox2" id="chkbox2"/>
<strong>Active Employees</strong>
<td>
<input type="Submit" name="submitnow" value="View Selected" class="button1">
<td>
<input type="button" name="Back" value="Back to Previous Menu" onclick="javascript:document.location.href('qualyrs_maint.cfm');" class="button1">
</tr>
</table>
</form>
我现在有 3 个复选框,其中最后两个需要在页面加载时检查并显示查询结果。当最后两个未选中时,必须检查第一个并相应地显示查询结果。
现在我在页面上有一个排序列功能。像这样
<cfif isdefined("form.order_by") and form.order_by eq "EMPLID">
background-color:##
<cfif sort_order eq "asc">
666666
<cfelse>
000000
</cfif>
</cfif>
;"
onClick="sortBy('EMPLID');Sorting.style.display='block';">
EMPLID
<cfif isdefined("form.sort_order") and isdefined("form.order_by") and ucase(form.sort_order) eq 'ASC' and ucase(form.order_by) eq 'EMPLID'>
<img src="images/desc.jpg">
<cfelseif isdefined("form.sort_order") and isdefined("form.order_by") and ucase(form.sort_order) eq 'DESC' and ucase(form.order_by) eq 'EMPLID'>
<img src="images/asc.jpg">
</cfif>
这就是 JS
<script language="Javascript">
function sortBy(order) {
foo = document.getElementById("order_by_id");
bar = document.getElementById("sort_order_id");
<!---if (foo.value == order) {
//same thing again, so flip the sort
if (bar.value == 'DESC'){
bar.value = 'ASC';
}
else{
bar.value = 'DESC';}
//bar.value = bar.value == "ASC" ? "DESC" : "ASC";
} else {
//new sort order, so make it ASC
bar.value = "ASC";
}--->
foo.value = order;
sort.submit();
}
</script>
<cfscript>
if(IsDefined('form.sort_order'))
{
if(form.sort_order IS 'ASC')
sort_order_value = 'DESC';
else
sort_order_value = 'ASC';
}
else
sort_order_value = 'ASC';
</cfscript>
<form action="view_emp_qual.cfm?show=yes" method="post" name="sort">
<cfoutput>
<cfparam name="order_by" default="">
<input type="hidden" name="order_by" id="order_by_id" value="#order_by#">
<input type="hidden" name="sort_order" id="sort_order_id" value="#sort_order_value#">
<cfif Isdefined("Form.fieldnames")>
<cfloop index="fieldname" list=#form.fieldnames#>
<cfset fieldvalue = Evaluate("form." & #fieldname#)>
<cfif not ("order_by,sort_order") contains fieldname>
<input type="hidden" name=##fieldname## value="#fieldvalue#">
</cfif>
</cfloop>
</cfif>
</cfoutput>
</form>
现在,我可以根据需要进行所有工作,除了在页面加载时选中最后两个复选框,然后点击排序列图标,然后选中第一个复选框。请告知我的代码哪里出错了。谢谢