2

データテーブルのjeditableテキストエリア(データテーブルセルをクリックすると表示される)の入力を検証したい。値を取得して検証しようとすると、たとえば数値を入力しても未定義の値が取得されます。私のコードは次のとおりです。

    $(".editable_textarea").editable(submitEdit, { 
                    indicator : "Saving...",
                    tooltip   : "Click to edit...",
                    style   : 'background-color:#ffffff;border-width:1px;border-style:solid;border-color:#cccccc;font-family:Arial,sans-serif;padding:2px',
                    name : "Editable.FieldName",
                    id   : "elementid",
                    type : "textarea", 
                    submit   : ' Save ',
                    cancel   : ' Cancel ',
                    onsubmit: function (content){
                        alert(content.current);// returns undefined
                        var input = $(content).find('input');
                        var original = input.val();
                        alert(original);// returns undefined
//validation is easy but the problem is to get a value to validate it
                    },
                    width: "100%"
                });


                function submitEdit(value, settings) { 
                   var edits = new Object();
                   var origvalue = this.revert;
                   var textbox = this;
                   var result = value;
                   edits[settings.name] = [value];

                   var servlet = '<%=request.getContextPath()%>'+ '/SettingServlet';
                   var ref = '?action=edit&' + textbox.id + '&o=' + encodeURI(origvalue) + '&v=' + encodeURI(value);

                   var returned = $.ajax({
                           url: servlet + ref, 
                           type: "POST",
                           data : edits,
                           dataType : "json",
                           complete : function (xhr, textStatus) 
                           {/* 
                               var response =  $.secureEvalJSON(xhr.responseText);
                               if (response.Message != "") 
                               {
                                   alert(Message);
                               }  */
                           }
                           });             
                   return(result);
                 }
4

0 に答える 0