我如何在从jsp调用的javascript函数中传递参数?

时间:2015-11-17 10:05:17

标签: javascript java jsp

我有一个显示网格的editRecord()页面,其中包含数据库中的数据。对于每个记录,我有一个名为editRecord的动作,它是jsp页面中的一个按钮。我在一个单独的javascript文件中有id函数,该文件有<button id="reviewEdit" type="button" class="edit-btn pull-right margin-left10 recos" onclick="editPersonalDetail()"> <span class="fa fa-edit margin-right3"></span> <fmt:message key="review.grid.btn.edit"/> </button> (记录的id)作为参数。

我需要知道的是,如果我在我的jsp按钮中有这样的东西:

onclick

如何将记录ID作为self.entry7=Tkinter.Entry(self, state = 'disabled') 函数中的参数传递?如果需要也可以发布功能。 任何帮助,将不胜感激。

6 个答案:

答案 0 :(得分:2)

在JSP中,您只需将变量打印为文字:

editPersonalDetail(<%=record.getId()%>);

这是JSP表达式的简写,不要将它与scriptlet( bad )混淆。当然,JSP块中的代码会有所不同。

您还可以使用JSTL c:out

editPersonalDetail(<c:out value="record.id"/>);

答案 1 :(得分:0)

一种简单的方法是您可以将记录ID的值传递为:

 onclick="editPersonalDetail('"+ <%= your_jsp_variable %> +"')"

另一种可以使用JSTL库的方法。

答案 2 :(得分:0)

另一个选择是通过javascript完成。

$(".use-address").click(function() {
    var $row = $(this).closest("tr");    // Find the row
    var $text = $row.find(".nr").text(); // Find the text

    // Let's test it out
    alert($text);
});

http://jsfiddle.net/UW38e/1264/

答案 3 :(得分:0)

另一种方法是将变量保存在隐藏的输入中。 所以在jsp中你有这个:

<input id='record_id' type='hidden' value='<%= record.getId() %>' />

在javascript中你可以这样得到:

var record_id = document.getElementById("record_id").value;

或使用jQuery:

var record_id = $("#record_id").val();

答案 4 :(得分:0)

如果您传递模型中存在的值,那么您可以尝试这个..

onclick =“editPersonalDetail('+ modelname.columnname +')”

检查它是否有效。

答案 5 :(得分:0)

只需使用JSTL。

<button id="reviewEdit" type="button" 
    class="edit-btn pull-right margin-left10 recos"
    onclick="editPersonalDetail('<c:out value="${record.id}"/>')">

    <span class="fa fa-edit margin-right3"></span>
    <fmt:message key="review.grid.btn.edit"/>
</button>