OnClick事件,显示弹出窗口或关注文本框以添加注释

时间:2011-03-29 09:29:13

标签: javascript jquery javascript-events spring-mvc event-handling

我想要实现的目标如下。我(仍在)工作时间表,用户必须能够添加评论。

D2的评论[..................]

TaskID - Taskname - D1 - D2 - D3 ...
1        Hello      5    3    2
2        Bai        4    2    1
3        I'm back   3    4    3

当用户点击特定文本框时,他必须填写小时数,其他文本框应该获取该特定框的注释值。当他点击另一个文本框时,它应该获得该值等等。

我真的不知道在哪里寻找,或者我怎么能做到最好。有任何想法吗? JavaScript的? JQuery的?我目前正在使用Spring MVC,因此它应该获取值并将其添加到特定的modelattribute,以便可以提交。

另一种可能性是某种弹出窗口,当您点击文本框旁边的图标时会出现这种弹出窗口...

1 个答案:

答案 0 :(得分:0)

我用 Javascript 来实现这个目标。

输入某个字段后,我调用一个函数,用新的类名填充评论:

<input type="text" onfocus='addComment(id, index, taskid)' />

功能:

    function addComment(classname, commValue, taskid){
    var comm = document.getElementById('comment');
    var comment = document.getElementById(taskid + classname);
    comm.className = taskid + classname;
    comm.value = comment.value;
}

这将使用最新聚焦文本框中的值填充文本框。它还将使用提供的类名设置类名。

为了保存评论值,我使用jQuery Ajax:

function saveComment(){
        var comment = document.getElementById('comment');
        var classn = comment.className;
        var firstday = document.getElementById('firstweek').value;
        var commentval = comment.value;
        var windex = comment.className.indexOf("w");
        var day = comment.className.substring(windex+1, windex+2);
        var taskid = comment.className.substring(0, windex);
        var pid = document.getElementById('projectid').value;

        if (classn != ""){
            var commentSaved = document.getElementById(taskid+comment.className.substring(windex, windex+2));
            commentSaved.value = commentval;
            $.post("savecomm.html", { day: day, comment: commentval, taskid: taskid, firstday: firstday, pid: pid }, function(data) {
                alert("callback");  
            });  
        } else {
            alert("No entries selected");
        }       
    }