3

问题是当 rs.getString (1) 是整数时代码正在工作,但在我的情况下它是一个 varchar 主键,如何解决这个问题。

function getId(id){
    var f=document.form;
    f.method="post";
    f.action='SelectBank1.jsp?id='+id;
    f.submit();
}

<%
Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select IdwhichIsVarchar, description from  SomeDataBase where IS_VISIBLE = 1 order by description  ");
%>

<%
while(rs.next()){
%>
<tr><td><%=rs.getString(2)%></td>

<td><input type="button" name="edit" value="Edit" style="background-color:green;font-weight:bold;color:white;" onclick="getId(<%=rs.getString(1)%>);" ></td>
</tr>
<%
}
%>
4

1 回答 1

1

您需要用引号将值括起来:

onclick="getId('<%=rs.getString(1)%>')"

否则你会得到这样的输出,例如:

onclick="getId(foo)"

JavaScript 会尝试将“foo”解析为变量,因此会失败。修复后它将是:

onclick="getId('foo')"

并且“foo”将作为字符串传递给函数。

于 2012-12-05T07:42:16.767 回答