我正在创建一个社交网站,我遇到了一个问题。
我从数据库中获取记录,并且每条记录都要添加一个按钮,以便我可以使用该文本框更改该记录。
但是当我使用该文本框更新记录时,它只获得第一个文本框的值。如果我要更新2
,3
,4
,5
等记录,那么它将获得第一个文本框的值。
所以请帮助我如何才能获得每个文本框的价值 - 而不仅仅是第一个文本框。
提前致谢。
以下是我的代码:
<%
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>
答案 0 :(得分:0)
我也遇到了同样的问题,但我可以通过使用request.getParameterValues(“DynamicTextBox”)轻松获取servlet上的javascript动态文本框值;
$("#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 + '" /> ' +
'<input type="button" value="Remove" class="remove" />'
}
String[] duration= request.getParameterValues("DynamicTextBox");
for (String string : duration) {
System.out.println("Duration1=="+string);
}