首页 新闻 会员 周边 捐助

java web 如何实时修改用户表某一行的内容并保存更新

0
悬赏园豆:20 [已解决问题] 解决于 2018-01-06 11:14

用如上代码打印出servlet从数据库中取出来的用户表

每一行都有一个“保存”的href,可是如何将修改后的那一行的ID、用户名、密码这3个参数组装到一个href中呢,我尝试过在javascipt中组装,但由于我是循环输出的每一行,致使每一行的id都一样,所以在jquery中就只能使第一行有效。

我实在是想不出来了,请大家指点指点思路

南方博客的主页 南方博客 | 初学一级 | 园豆:62
提问于:2018-01-03 15:00
< >
分享
最佳答案
1

 我提供一个方法。把i变量  作为<td>保存 </td>标签值. 

收获园豆:20
David5201 | 小虾三级 |园豆:534 | 2018-01-03 15:26

你好,感谢你的浏览和回答,你可否把你的方法说的再详细点呢

南方博客 | 园豆:62 (初学一级) | 2018-01-03 15:33
<!DOCTYPE html>
<html>
    
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>链接测试</title>
</head>
<body>
<form action="chooseBook" method="post" id="search_form">
<table>
<tr>
    <td style="color:#000; font-weight:400"> </td>
    <td> <input type="text" value="11"  id='name<%=i%>'  /></td>
    <td> <input type="text" value="12"  id="age<%=i%> /></td>
    <td style="width:100px"><a onclick= "querydetail('<%=i%>')">保存 </a></td>
</tr>
</table>
</form>
<script type="text/javascript">

//定义了XMLHttpRequest对象
var xmlrequest;

function createXMLHttpRequest()
{
    if(window.XMLHttpRequest)
    { 
        // DOM 2浏览器
        xmlrequest = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        // IE浏览器
        try
        {
            xmlrequest = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
            }
        }
    }
}

function dealdetail(i){
    var name = document.getElementById("name" + i);
    var age = document.getElementById("age" + i);
    createXMLHttpRequest();
    var uri = "servlet/save?name=" + name +"age=" + age;
    xmlrequest.onreadystatechange = processResponse;
    xmlrequest.open("POST", uri, true);
    xmlrequest.setRequestHeader("Content-Type"
            , "application/x-www-form-urlencoded");
    xmlrequest.send();    
}

function processResponse(){
    //处理返回
}
</script>
</body>
</html>

每个要保存的input 加一个id, 比如id的命名id= "name<%=i%>"的方式。如上例子中,最后用XMLHttpRequest()来提交你要保存的参数。

David5201 | 园豆:534 (小虾三级) | 2018-01-04 00:33

@David5201: 今天才看到回复,sorry,我之前用类似的方法实现了,不过谢谢你的方案。

南方博客 | 园豆:62 (初学一级) | 2018-01-06 11:06

嗯,准确地说是<tr class=i>更方便些

南方博客 | 园豆:62 (初学一级) | 2018-01-06 11:09
其他回答(4)
0

以后是不可能把java代码放入到jsp中的,看看就行了

DanBrown | 园豆:1321 (小虾三级) | 2018-01-04 07:55
0

在这个场景中,不存在“组装”的问题。

保存操作,理应是post方式的。

你需要的是一个 表单Form。

西漠以西 | 园豆:1675 (小虾三级) | 2018-01-04 09:44

用js组装href,完全没问题,我实现了

支持(0) 反对(0) 南方博客 | 园豆:62 (初学一级) | 2018-01-06 11:07

@南方博客: 最后不是用XMLHttpRequest提交的吗?还是用<a>的href吗?其实也可以用<jsp:forward>来提交request。但是,我不记得拼好请求参数后,getElementbyId(<a>)得到这个DOM对象后,怎样触发<a>的href属性。你能把这代码分享出来吗?

支持(0) 反对(0) David5201 | 园豆:534 (小虾三级) | 2018-01-06 11:22

@David5201: js内href的组装参考https://zhidao.baidu.com/question/1110318705592719779.html

js内页面重定向:location.href='newpage.html';

支持(0) 反对(0) 南方博客 | 园豆:62 (初学一级) | 2018-01-08 09:21
0

写一个方法。通过this关键字获取当前列信息。

嚯嚯,小脾气 | 园豆:202 (菜鸟二级) | 2018-01-04 10:37

谢谢,学习了

支持(0) 反对(0) 南方博客 | 园豆:62 (初学一级) | 2018-01-06 11:09
0

这么简单的问题, 开动你的大脑,好好想一下,你是循环输出的,想让id不重复,你循环变量i不是每一次循环都会变吗?

、熙和 | 园豆:1508 (小虾三级) | 2018-01-06 10:28

我已经解决了,不过还是谢谢

支持(0) 反对(0) 南方博客 | 园豆:62 (初学一级) | 2018-01-06 11:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册