如下的代码, function funcbt(type)中的$("#"+type+"_item").fancybox({})每次都会去执行。不管是否有必要弹出fancybox。
<table width="100%" bgcolor="#C2D6E3">
<tr>
<td> </td>
<td align="left">
<input type="button" id="view_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="view" value='<fmt:message key="View"/>' οnclick="funcbt('view')" />
<input type="button" id="add_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="button" value='<fmt:message key="Add"/>' οnclick="funcbt('add')"/>
<input type="button" id="modify_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="button" value='<fmt:message key="Modify"/>' οnclick="funcbt('modify')"/>
<input type="button" id="delete_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="button" value='<fmt:message key="Delete"/>' οnclick="funcbt('delete')"/>
</td>
<td><%@ include file="/common/pageView.jsp"%></td>
</tr>
</table>
function funcbt(type){
var mill=(parseInt(Math.random()*10000)).toString();
var url = 'preparation/Piping/DetMtopartAction.action?currentTimeSerial='+mill ;
var id = "";
if(type=='add'){
var mtoid = document.getElementById('ro.id').value;
mtoid = mtoid.replace(/^\s+|\s+$/g,"");
if(mtoid==""||mtoid==null){
alert('<fmt:message key='preparation.piping.MTOSaveFirst'/>');
return;
}
url = url + '&act=new&ro.id='+ mtoid;
}else if(type=='modify'){
id = gettableElemet();
if(id==""){
return;
}
url = url + '&act=modify&mtodet.id='+id;
}else if(type=='view'){
id = gettableElemet();
if(id==""){
return;
}
url = url + '&act=view&mtodet.id='+id;
}else if(type=='delete'){
var mtoid = document.getElementById('ro.id').value;
mtoid = mtoid.replace(/^\s+|\s+$/g,"");
var idStr = bulkDete();
if(idStr==""){
return ;
}
url = url + '&act=delete&idList='+idStr + '&ro.id='+mtoid;
$('#context').load(url);
return;
}
$("#"+type+"_item").fancybox({
"href" : url,
"type" : "iframe",
"padding" : 5,
"margin" : 5 ,
'showCloseButton':true,
'hideOnOverlayClick':false,
'autoScale':true
});
}
</script>
使用如下方法判断id为空的情况下,采用:
$("#add_item").fancybox({
onStart :function() {
return false;
}
});
取消fancybox的启动。
<table width="100%" bgcolor="#C2D6E3">
<tr>
<td> </td>
<td align="left">
<input type="button" id="view_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="view" value='<fmt:message key="View"/>' οnclick="viewMtoDet()" />
<input type="button" id="add_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="button" value='<fmt:message key="Add"/>' οnclick="addMtoDet()"/>
<input type="button" id="modify_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="button" value='<fmt:message key="Modify"/>' οnclick="modifyMtoDet()"/>
<input type="button" id="delete_item" οnmοuseοver="makevisible(this,0)" οnmοuseοut="makevisible(this,1)" class="button01"
name="button" value='<fmt:message key="Delete"/>' οnclick="deleteMtoDet()"/>
</td>
<td><%@ include file="/common/pageView.jsp"%></td>
</tr>
</table>
<SCRIPT type="text/javascript">
function gettableElemet(){
var id="";
var partTable=document.getElementById("part");
var j=0;
for(var i=1;i<partTable.rows.length;i++)
{
if(partTable.rows[i].cells[0].childNodes[0].checked==true)
{
j++;
id=partTable.rows[i].cells[0].childNodes[0].id;
}
}
if(j==0)
{
alert("<fmt:message key='toolBar2.ChooseView'/>");
return "";
}
if(j>1)
{
alert("<fmt:message key='toolBar2.OnlyView'/>");
return "";
}
if(id!=""){
return id;
}
}
function bulkDete(){
var partTable=document.getElementById("part");
var idStr="";
for(var i=1;i<partTable.rows.length;i++)
{
var checkBoxObject=partTable.rows[i].cells[0].childNodes[0];
if(checkBoxObject.checked)
idStr+=checkBoxObject.id+",";
}
if(idStr=="")
{
alert("[250007]please choose one ITEM for delete");
return "";
}
var lastIndex=idStr.lastIndexOf(",");
idStr=idStr.substring(0,lastIndex);
return idStr;
}
//添加mtoDet
function addMtoDet(){
var mill=(parseInt(Math.random()*10000)).toString();
var url = 'preparation/Piping/DetMtopartAction.action?currentTimeSerial='+mill ;
var mtoid = document.getElementById('mto.id').value;
mtoid = mtoid.replace(/^\s+|\s+$/g,"");
if(mtoid==""||mtoid==null){
alert('<fmt:message key='preparation.piping.MTOSaveFirst'/>');
$("#add_item").fancybox({
onStart :function() {
return false;
}
});
}else{
url = url + '&act=new&mto.id='+ mtoid;
$("#add_item").fancybox({
"href" : url,
"type" : "iframe",
"padding" : 5,
"margin" : 5 ,
'showCloseButton':true,
'hideOnOverlayClick':false,
'autoScale':true
});
}
}
//查看mtoDet
function viewMtoDet(){
var mill=(parseInt(Math.random()*10000)).toString();
var url = 'preparation/Piping/DetMtopartAction.action?currentTimeSerial='+mill ;
var id = "";
id = gettableElemet();
if(id==""){
$("#view_item").fancybox({
onStart :function() {
return false;
}
});
}
else{
url = url + '&act=view&mtodet.id='+id;
$("#view_item").fancybox({
"href" : url,
"type" : "iframe",
"padding" : 5,
"margin" : 5 ,
'showCloseButton':true,
'hideOnOverlayClick':false,
'autoScale':true
});
}
}
//删除mtoDet
function deleteMtoDet(){
var mill=(parseInt(Math.random()*10000)).toString();
var url = 'preparation/Piping/DetMtopartAction.action?currentTimeSerial='+mill ;
var mtoid = document.getElementById('mto.id').value;
mtoid = mtoid.replace(/^\s+|\s+$/g,"");
var idStr = bulkDete();
if(idStr==""){
return ;
}
url = url + '&act=delete&idList='+idStr + '&mto.id='+mtoid;
$('#context').load(url);
return;
}
//修改mtoDet
function modifyMtoDet(){
var mill=(parseInt(Math.random()*10000)).toString();
var url = 'preparation/Piping/DetMtopartAction.action?currentTimeSerial='+mill ;
var id = "";
id = gettableElemet();
if(id==""){
$("#modify_item").fancybox({
onStart :function() {
return false;
}
});
}
else{
url = url + '&act=modify&mtodet.id='+id;
$("#modify_item").fancybox({
"href" : url,
"type" : "iframe",
"padding" : 5,
"margin" : 5 ,
'showCloseButton':true,
'hideOnOverlayClick':false,
'autoScale':true
});
}
}
</script>