Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当用户单击与该行对应的编辑按钮时,如何将显示的数据库行转换为文本框_Java_Javascript_Ajax_Jsp - Fatal编程技术网

Java 当用户单击与该行对应的编辑按钮时,如何将显示的数据库行转换为文本框

Java 当用户单击与该行对应的编辑按钮时,如何将显示的数据库行转换为文本框,java,javascript,ajax,jsp,Java,Javascript,Ajax,Jsp,我是java新手。我通过jsp显示我的数据库内容。我希望当用户单击与正在显示的数据库行对应的编辑按钮时,该行内容应显示在文本框中,而其余行保持不变 我的jsp代码: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page import="java.util.*"%> <!DOCTYPE html PUBLIC "

我是java新手。我通过jsp显示我的数据库内容。我希望当用户单击与正在显示的数据库行对应的编辑按钮时,该行内容应显示在文本框中,而其余行保持不变

我的jsp代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"     "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>

<script language="javascript">


function deleteData(id){
    var xmlhttp;
    if(window.XMLHttpRequest){
        xmlhttp = new XMLHttpRequest();
}
else{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET","http://localhost:8080/First/deleteData1?id="+id+"&format=fragment",true);
xmlhttp.send(null);

xmlhttp.onreadystatechange = function()
{
    //alert(xmlhttp.status==200);
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
        //alert(xmlhttp.responseText);
    document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
    }
}


}

function editData(id){

    var xmlhttp1;
    if(window.XMLHttpRequest){
    xmlhttp1 = new XMLHttpRequest();
}
else{
    xmlhttp1 = new ActiveXobject("Microsoft.XMLHTTP");
}

xmlhttp1.open("GET","",true);
xmlhttp1.send(null);

xmlhttp.onreadystatechange = function()
{
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
        document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
    }
}

}

</script>

</head>
<body>
<div id="myDiv">
    <form>
    <table border='1' width='300' cellpadding='1' cellspacing='0'>
        <tr>
            <td colspan=7 align="center"></td>
        </tr>
        <tr>
            <td>Id</td>
            <td>Name</td>
            <td>Department</td>
            <td>Password</td>
            <td>Edit</td>
            <td>Delete</td>
        </tr>

        <%
            List Li = new ArrayList();
            Iterator lr;

            if (request.getAttribute("userList") != null
                    && request.getAttribute("userList") != "") {
                List userList = (ArrayList) request.getAttribute("userList");
                Iterator itr = userList.iterator();

                while (itr.hasNext()) {
                    Li = (ArrayList) itr.next();
                    lr = Li.iterator();
                    Integer id = (Integer) lr.next();
                    String name = (String) lr.next();
                    String department = (String) lr.next();
                    String password = (String) lr.next();
        %>

        <tr>
            <td><%=id%></td>
            <td><%=name%></td>
            <td><%=department%></td>
            <td><%=password%></td>

            <td><input type="button" name="edit" value="edit" onclick="editData(<%=id%>);"></td>
            <td><input type="button" name="delete" value="Delete" onclick="deleteData(<%=id%>);"></td>
        </tr>

        <%
            }
            }
        %>
    </table>
    </form>
</div>
</body>
</html>

您可以使用flagboolean变量,如果变量为true,则编辑模式开始和文本框显示,否则当变量为false时隐藏文本框并显示简单行,在该文本框和简单行中设置数据非常容易。您能否澄清更多或发布一些代码段以使其清晰。请稍候,我将发布给您。显示您的jsp代码。这里有一个链接,我使用了knockout js,您必须用java代码或java脚本代码替换它,然后更改它的html数据以显示数据。我不能只通过javascript而不使用knockout.js吗