如何在jsp中获取动态创建的文本框的值

问题描述 投票:1回答:1

我正在创建一个社交网站,我正面临一个问题。

我从数据库中获取记录,并且每个记录我想添加一个按钮,以便我可以使用该文本框更改该记录。

但是当我使用该文本框更新记录时,它只获得第一个文本框的值。如果我正在更新2345等记录,那么它将获得第一个文本框的值。

那么请帮助我如何才能获得每个文本框的价值 - 而不仅仅是第一个文本框。

提前致谢。

以下是我的代码:

<%
Statement st1;
         ResultSet rs1;
         Connection con;
Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dfmc","root","93Pb3gaNv0");
String sql1="select * from user_table LIMIT 5";
            st1 = con.createStatement();
            rs1=st1.executeQuery(sql1);
            String id=null,name=null;
while(rs1.next()){
                id=rs1.getString("id");
                name=rs1.getString("first_name");
                %>
<div><input type="text" name="txt" id="name" />
<input type="button" name="btn" value="Rating" onclick="loadXMLDoc(<%=id%>)">
                    <p id="showname"><%=name%></p>
    </div>
<script type="text/javascript">
function loadXMLDoc(iid){
var idd=iid;
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {





document.getElementById("showname").innerHTML=xmlhttp.responseText; 

    }
}
var name;
name = document.getElementById("name").value;
xmlhttp.open("GET", 'insert_rating?name='+name+'&id='+idd+'', true);
xmlhttp.send();
}
</script> 
java javascript mysql jsp
1个回答
0
投票

我也遇到了同样的问题,但我可以通过使用request.getParameterValues(“DynamicTextBox”)轻松获取servlet上的javascript动态文本框值。

client side code:

$("#btnGet").bind("click", function () {
        var values = "";
        $("input[name=DynamicTextBox]").each(function () {
            values += $(this).val() + "\n";
        });
        alert(values);

    });

});
function GetDynamicTextBox(value) {
    return '<input name = "DynamicTextBox" type="text" value = "' + value + '" />&nbsp;' +
            '<input type="button" value="Remove" class="remove" />'
}

server side code (servlet):

String[] duration= request.getParameterValues("DynamicTextBox");
for (String string : duration) {
    System.out.println("Duration1=="+string);
}
© www.soinside.com 2019 - 2024. All rights reserved.