单击表行更新数据库

时间:2014-04-06 17:59:09

标签: javascript ajax jsp

我有一个表,其中数据正在通过数据库填充。现在我想要的是,只要我点击其中一行,就会显示一条警告消息,并且该行的READSTATUS在我的数据库中变为true是数据库得到更新。

现在我的问题是在哪里编写更新数据库的代码,因为我不想移动到另一个页面来执行此操作。

就像我的表格是这样的:

<input type=hidden name="notifyidd" id="notifyidd" value="<%=messageid%>"/> 
<tr bgcolor="#5D1B90" color="#FFFFFF" onmouseover="ChangeColor(this, true,false);" onmouseout="ChangeColor(this, false,false);" onclick="DoNav('shownotification.jsp?mid=<%=messageid%>');"> 
<td><input type="checkbox" name="" onclick="DoRemove(event);"  width="20" class="select_all_mail" value=<%=messageid%>></td>
<td callspan="3" width="1000px"><%=messagesubject%>  at   <%=sendingtime%></td>

</tr>

并在每行的onclick方法中调用了alert。但是现在如何更新数据库?

function DoNav(theUrl)
 {

    var tt = document.myinbox.notifyidd.value;
    alert(tt);
  //document.location.href = theUrl;
  }

好像我取消注释这一行然后它将移动到下一页。但我只想在同一页面上这样做。请帮助

编辑:

我写了一个ajax代码来做它。但是它给出了错误。请帮助

$(document).ready(function() {
    $('#myrow').click(function ()
    {
        $.ajax({
            type: "post",
            url: "shownotification.jsp", //this is my servlet
            data: {
                notifyidd: $('#notifyidd').val()

            },
            success: function(msg){      
                    if(msg == "success")
                    alert('Data updated.');
            }
        });
    });

});

这里我将myrow指定为我的表行的id。我现在删除了doNav函数

点击了我的错误图片:

http://postimg.org/image/vix1vzvq5/

虽然错误已解决,但此ajax调用无法正常运行。对于测试,我将shownotification.jsp设为:

<body>
    <% String notifyid = request.getParameter("notifyidd");%>
    success
</body>

1 个答案:

答案 0 :(得分:0)

错误消息显示查找属性"groupid"时服务器端代码失败。您发送的帖子有notifyidd。服务器代码无法知道这是否应该映射到groupid

试试这个。如果它不起作用,请使用错误更新我们。

$(document).ready(function() {
    $('#myrow').click(function ()
    {
        $.ajax({
            type: "post",
            url: "shownotification.jsp", //this is my servlet
            data: {
                groupid: $('#notifyidd').val()

            },
            success: function(msg){      
                    if(msg == "success")
                    alert('Data updated.');
            }
        });
    });

});