0

我正在尝试在 java 脚本中调用带有参数的方法onclick='addAlertDlg.show();preparePOIAlertToCreate(name)'

function preparePOIAlertToCreate(name){
    alert(name);
    document.getElementById('bottomForm:refId').value = name;       
}

alert(name);什么也没显示。

我的代码有什么问题吗?

4

3 回答 3

1

不要使用内联事件处理。使用以下方法:

var element = document.querySelector(".your-link-class");
element.addEventListener("click", function() {
    addAlertDlg.show();
    preparePOIAlertToCreate(name);
});
function preparePOIAlertToCreate(name){
    alert(name);
    document.getElementById('bottomForm:refId').value = name;       
}

如果您这样做,您会发现该名称可能未定义。您还将在控制台中获得良好的反馈。

于 2013-09-25T07:36:38.363 回答
0

尝试调用函数

onclick='addAlertDlg.show();preparePOIAlertToCreate("name")'

如果你不把'name'放在引号中,js会搜索一个名为'name'的变量,所以它找不到任何东西,也不能显示任何东西。

于 2013-09-25T07:32:20.960 回答
0

您使用该功能的方式是正确的,但我猜您没有为名称设置任何值。

于 2013-09-25T07:37:13.720 回答