Событие OnClick, показ всплывающего окна или фокус на текстовом поле для добавления комментария - PullRequest
0 голосов
/ 29 марта 2011

Я пытаюсь достичь следующего.Я (все еще) работаю над расписанием, и пользователь должен иметь возможность добавить комментарий.

Комментарий [..................]для 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, поэтому он должен получить значение и добавить его к определенному атрибуту модели, чтобы его можно было отправить.

Другая возможность - это какое-то всплывающее окно, которое появляется при нажатии назначок рядом с текстовым полем ...

1 Ответ

0 голосов
/ 25 мая 2011

Я использовал 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");
        }       
    }
...