2013-03-06 130 views
2

我有下面这段代码是一个js LIB一个输入内容:传递一个java变量javascript功能

content:'<a href="x.com" onclick="confirmDel("<%=user.name%>")" > <img src="delete.png" alt="Delete" width="15px" height="15px"></a></div>' 

confirmDel(name) 
{ 
if(confirm("delete " + name +" ?")) 
    { 
    // Do delete stuff 
    } else 
    { 
    return false; 
    } 
} 

当我点击删除链接,它不会删除提示我确认提醒!我在这里错过了什么?是关于我将变量传递给函数的方式吗?

回答

1
content:'<a href="x.com" onclick="confirmDel(\''+<%=user.name%>+'\')" > <img src="delete.png" alt="Delete" width="15px" height="15px"></a></div>' 

与在onclick..use转义字符传递参数的问题..

+0

没有这应该做工精细,它不破,如果你做这种方式实际上将打破。它会尝试将名称视为变量而不是字符串。 – 2013-03-06 03:58:10

+0

不错的一个人,谢谢 – ComeRun 2013-03-06 04:00:57

+0

没有scriptlets的使用会更好,因为不推荐使用。检查[如何避免在JSP文件中的Java代码?](http://stackoverflow.com/q/3177733/1065197) – 2013-03-06 04:05:12

0
confirmDel(name) 
{ 
if(confirm("delete " + name +" ?")) 
    { 
    // Do delete stuff 
    } else 
    { 
    return false; 
    } 
} 

这是不正确。它在声明一个函数和调用它之间的中间位置,但实际上也没有。

您需要声明该函数,然后调用它来执行该代码。你现在在onclick部分调用它,但你需要正确地定义它

function confirmDel(nameStr) 
{ 
if(confirm("delete " + nameStr +" ?")) 
    { 
    // Do delete stuff 
    } else 
    { 
    return false; 
    } 
} 
+0

是啊,它的人被点击触发。无论如何,谢谢 – ComeRun 2013-03-06 04:01:47

+0

您的函数声明仍然不会按照原样工作。你需要在那里添加函数关键字。 – 2013-03-06 04:12:27