javascript:传递函数参数?
我的代码如下: 数据如下: [{说明:sf,姓名:汤姆,日期:2014-07-08 10:19:29.0,图片:[]},{说明:sf,姓名:汤姆,日期:2014-07-08 10:23:33.0,图片:[]},{说明:dfs,姓名:汤姆,日期:2014-07-08 10:27:20.0,图片:[]},{说明:sfd,姓名:汤姆,日期:2014-07-08 10:31:35.0,图片:[{图片:C:\Users\hanlu-Feng\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ServletHtml\pictures\Tom\2014-07-08-10-31-35\2012042622442667.jpg},{图片:C:\Users\hanlu-Feng\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ServletHtml\pictures\Tom\2014-07-08-10-31-35\833344\u 1071288421.jpg}]javascript:传递函数参数?,javascript,parameter-passing,Javascript,Parameter Passing,我的代码如下: 数据如下: [{说明:sf,姓名:汤姆,日期:2014-07-08 10:19:29.0,图片:[]},{说明:sf,姓名:汤姆,日期:2014-07-08 10:23:33.0,图片:[]},{说明:dfs,姓名:汤姆,日期:2014-07-08 10:27:20.0,图片:[]},{说明:sfd,姓名:汤姆,日期:2014-07-08 10:31:35.0,图片:[{图片:C:\Users\hanlu-Feng\workspace\.metadata\.plugins\org
//Code 1
function dynamicReport(data){
var table = document.getElementById("erroreport");
if(table.rows.length==0){
for(var i=0;i<=data.length;i++){
if(i==0){
var row = table.insertRow(0);
var cell = row.insertCell(0);
cell.innerHTML = titleName;
cell = row.insertCell(1);
cell.innerHTML = titleTime;
cell = row.insertCell(2);
cell.innerHTML = titleDescription;
cell = row.insertCell(3);
cell.innerHTML = titleImages;
}else{
var row = table.insertRow(i);
var cell = row.insertCell(0);
cell.innerHTML= data[i-1].Name;
cell = row.insertCell(1);
cell.innerHTML = data[i-1].Date;
var description = data[i-1].DESCRIPTION;
if(description.length>7){
description = description.substring(0,7)+"..."
}
cell = row.insertCell(2);
cell.innerHTML=description;
var userName = data[i-1].Name;
var reportTime= data[i-1].Date;
var url = "selectionShow";
var p ="<p><u><font size='2' color='blue' onclick='requestPictures("+url+"," +userName+", "+reportTime+")' style='cursor:pointer'>Check Pcitures</font></u></p>";
cell = row.insertCell(3);
cell.innerHTML = p;
}//end else
}//end for
}//end if
}
// code 2
function requestPictures(listUrl,name,time){
var var1=name;
var var2 = time;
$.ajax({
cache : false,
type : "POST",
dataType : "json",
url : listUrl,
//data : $("#ajaxFrm").serialize(),
data : {command:"images","name":name,"time":time},
async : false,
error : function(request) {
waidAni();
if(request.status ==202){
alert(request.responseText);
}else
alert("Request Error");
},
success : function(data) {
waidAni();
//alert(data);
window.location.href= data;
}
});
}
当我调试它时,有一个未捕获的SyntaxError错误:意外的数字。
我认为错误在代码中:
var p ="<p><u><font size='2' color='blue' onclick='requestPictures("+url+"," +userName+", "+reportTime+")' style='cursor:pointer'>Check Pcitures</font></u></p>";
我尝试了很多方法,但都不起作用。我在这个链接中使用了这种方法:
错误仍然存在,我不知道为什么
我想创建一个如下所示的表:
首先,我的解决方案将不包括内联样式、字体标记或下划线标记。我建议您将所有这些放在一个类中 您应该创建一个对象,绑定click事件,然后将其附加到单元格中,而不是插入纯html
var p = $("<p class='picture-link'>Check Pictures</p>");
p.click(function(){requestPictures(url, userName, reportTime);});
$(cell).append(p);
除非url、用户名和reportTime都是数字,否则你的内联事件处理程序就是一场灾难。这段代码太糟糕了。你为什么需要那个内联的东西?它用在哪里?你能发布整个代码吗?你发布的代码很好:语法方面。你用p干什么?既然你已经在使用jQuery,你最好创建和对象并添加cl单击处理程序,然后将其附加到您计划将其放入的任何容器中。更新后-您的代码仍具有良好的语法特性。错误是JS解析器无法编译您的代码。很可能您没有像var p=
.picture-link{
text-decoration: underline;
color: blue;
cursor: pointer;
}