按照你提供的脚本,我这边本地是正常的,但是在onclick事件中,调用存储过程,页面加载就会去执行,希望,你们也去确认下,是不是平台存在问题!
脚本如下:
函数库写的函数(调用的数据库的存储过程):
function CH(PID,YID,APID,UID,DEPID,name)
{
//获取连接
var Ret = "error";
var conn = getConnection(getApplication());
var cs = null;
try {
cs = conn.prepareCall("{call SP_ImportCH(?,?,?,?,?,?,?)}");
cs.setString(1,PID);
cs.setString(2,YID);
cs.setString(3,APID);
cs.setString(4,UID);
cs.setString(5,DEPID);
cs.setString(6,name);
cs.registerOutParameter(7, Packages.java.sql.Types.CHAR);
cs.execute();
Ret = cs.getString(7);
$PRINTER.println("***************************Ret***"+Ret);
} catch (e) {
} finally {
try {
if(cs != null){
cs.close();
}
if(conn != null){
conn.close();
}
} catch (ex) {
}
}
return Ret;
}
这是我视图列的值脚本里面的脚本(调的上面函数库)
#include "dbexlib"
#include "ELResult"
var doc =getCurrentDocument();
var pid =doc.getId();//获取表单ID。
var apid=getApplication();
var yid=getDomainid();
var webUser = getWebUser(); //返回当前登录用户对象
var name=getWebUser().getName();
var uid = webUser.getId();
var deps=getdetps();
var name=webUser.getName();
var rtn;
var sesql="select * from tlk_sub_晨会通知 where ITEM_已查看人员='"+name+"' and parent='"+pid+"'";
var bysql=queryBySQL(sesql);
var numer=bysql.size();
println(numer+"===大小")
if(numer<0)
{
rtn="<input type='button' value='查看' onclick='"+CH(pid,yid,apid,uid,deps,name)+"' />";
}
else
{
rtn="<input type='button' value='已阅' />";
}
rtn;
再次申明我的目的:
我是想 这个按钮初始状态为“查看” ,点击按钮调了存储过称后按钮的状态才变成“已阅” 。 |