jQuery UI Widgets › Forums › Grid › problem in showing the value prefilled of jQxEditor
This topic contains 1 reply, has 2 voices, and was last updated by Dimitar 9 years, 10 months ago.
Viewing 2 posts - 1 through 2 (of 2 total)
-
Author
-
I have been facing problem in showing the value prefilled of jQxEditor in the jqxWindow. after page loads if i click on edit the jqxeditor’s value shows empty(it shows value on alert) and after closing the window when i again click on the editor it shows the editor value prefilled. Can you please help? where I am wrong?
$(document).ready(function() { //=========================== // show the grid for email Template //=========================== var url = "/admins/emailtemplategridjson"; // action from where we get the result in json var source = { datatype: "json", datafields: [{ name: 'Subject', type: 'string',map: 'SystemEmailMessage>Subject' }, { name: 'Type', type: 'string',map: 'SystemEmailTemplateType>Type' },{ name: 'TypeDisplay', type: 'string',map: 'SystemEmailTemplateType>TypeDisplay' }, { name: 'PlainTextBody', type: 'string',map: 'SystemEmailMessage>PlainTextBody' }, { name: 'TypeId', type: 'string',map: 'SystemEmailMessage>Type' }], updaterow: function(rowid, rowdata, commit) { // synchronize with the server - send update command }, id: 'SystemEmailMessage>id', url: url, pagesize: 30 }; var dataAdapter = new $.jqx.dataAdapter(source); var editrow = -1; // initialize jqxGrid $("#jqxgrid").jqxGrid({ width: '100%', height: 350, theme: KiouiTheme, source: dataAdapter, pageable: true, autoheight: true, sortable: true, altrows: true, enabletooltips: true, pagesizeoptions: ['10', '20', '30', '40'], showfilterrow: true, filterable: true, showtoolbar: false, enablebrowserselection: true, selectionmode: 'singlecell', columnsresize: true, // columns shown in grid are mention below columns: [{ text: '', datafield: 'Edit', columntype: 'number', filterable: false, sortable: false, width: '10%', cellsrenderer: function() { return '<div style="width: 100%"><img src="/images/edit.png" title="Edit" style="margin-top: 5%;margin-left: 25%" /></div>'; } }, { text: 'Type', datafield: 'TypeDisplay', width: '40%', filtertype: 'checkedlist' }, { text: 'Subject', datafield: 'Subject', width: '40%' }, { text: '', datafield: 'Delete', columntype: 'number', filterable: false, sortable: false, width: '10%', cellsrenderer: function() { return '<div><img src="/images/trash.png" title="Delete" style="margin-top:5%;margin-left:25%" /></div>'; } }, ] }); // initialize the popup window and buttons. $("#popupWindow").jqxWindow({ width: 750, height: 700, resizable: false, isModal: true, autoOpen: false, cancelButton: $("#cancel"), modalOpacity: 0.3, theme: KiouiTheme, maxHeight: 700, maxWidth: 750, initContent: function() { $("#PlainTextBody").jqxEditor({ height: '450px',width: '650px' }); }, }); // update the edited row when the user clicks the 'Save' button. $("#Save").click(function(event) { var checkedit= $('#edittemplateForm').jqxValidator('validate'); // adding validation in add form if(checkedit==true){ if (editrow >= 0) { showloader(); // to disable button and show loader image var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); var row = { Subject: $("#Subject").val(), Type: $("#Type").val(), PlainTextBody: $("#PlainTextBody").val(), id: rowID, }; // ajax called to UPDATE the row on edit $.ajax({ url: '/admins/updateemailtemplateajax', data: row, type: "POST", cache: false, async: true, success: function(response) { if($.trim(response)=="success"){ $("#popupWindow").jqxWindow('hide'); var action = 'update'; showbuttons(); // function created in function.js file to show button enabled and hide loader gridmessage(action); $('#jqxgrid').jqxGrid('updatebounddata'); } else { alert('Something went wrong please try again.'); } }, error: function(response) { // cancel changes. alert('Something went wrong please try again.'); } }); $("#edittemplateForm").submit(function() { return false; }); } }else{ showbuttons(); event.preventDefault();//If this method is called, the default action of the event will not be triggered. } }); // on click of edit and delete $("#jqxgrid").on("cellclick", function(event) { var column = event.args.column; var rowindex = event.args.rowindex; var columnindex = event.args.columnindex; //when user wants to edit the record if (columnindex == 0) { // open the popup window when the user clicks a button. editrow = rowindex; var offset = $("#jqxgrid").offset(); $("#popupWindow").jqxWindow({ theme: KiouiTheme, position: { x: parseInt(offset.left) + 60, y: parseInt(offset.top) - 20 }, }); // get the clicked row's data and initialize the input fields. var dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow); $("#Subject").val(dataRecord.Subject); $("#Type").val(dataRecord.TypeId); alert(dataRecord.PlainTextBody); $("#PlainTextBody").val(dataRecord.PlainTextBody); // show the popup window. $("#popupWindow").jqxWindow('open'); }; }); //====================================================== // called ajax to save the data on click of "add template" //======================================================= $("#addtemplate").click(function(event) { var check= $('#addtemplateForm').jqxValidator('validate'); // adding validation in add form if(check==true){ var Type = $("#SystemEmailMessageType").val(); var Subject = $('#SystemEmailMessageSubject').val(); var PlainTextBody = $('#TextBody').val(); showloader(); // to disable button and show loader image $.ajax({ url: "/admins/addemailtemplateajax", type: "POST", cache: false, async: true, data: { Type: Type, Subject: Subject, PlainTextBody: PlainTextBody }, success: function(response) { if($.trim(response)=="success"){ $('#TempForm').jqxWindow('close'); var action = 'add'; showbuttons(); // function created in function.js file to show button enabled and hide loader gridmessage(action); $('#jqxgrid').jqxGrid('updatebounddata'); } } }); $("#addtemplateForm").submit(function() { return false; }); }else{ showbuttons(); event.preventDefault();//If this method is called, the default action of the event will not be triggered. } }); //------------------------------------ // adding validation to the form //------------------------------------ $('#SystemEmailMessageSubject').jqxInput({}); $('#Subject').jqxInput({}); $('#addtemplateForm').jqxValidator({ rules: [{ input: '#SystemEmailMessageSubject', message: 'Subject is required!', action: 'keyup, blur', rule: 'required' }, ] }); $('#edittemplateForm').jqxValidator({ rules: [ { input: '#Subject', message: 'Subject is required!', action: 'keyup, blur', rule: 'required' }, ] }); }); //================================================================== // window open in email template view "/admins/emailtemplategrid" //================================================================== var basicDemo = (function() { //Adding event listeners function _addEventListeners() { $('#addrowbutton1').click(function() { $('#SystemEmailMessageSubject').val(''); $('#TempForm').jqxWindow('open'); // to open the window onclick of open button }); $('#hideWindowButton').mousedown(function() { $('#TempForm').jqxWindow('close'); // to close the add emailtemplate window onclick of cancel button }); $('#cancel').mousedown(function() { $('#popupWindow').jqxWindow('close'); // to close the edit emailtemplate window onclick of cancel button }); }; //Creating all page elements which are jqxWidgets function _createElements() { $('#addrowbutton1').jqxButton({ width: '70px', theme: KiouiTheme }); }; //Creating the window function _createWindow() { var offset = $("#jqxgrid").offset(); $('#TempForm').jqxWindow({ theme: KiouiTheme, position: { x: parseInt(offset.left) + 60, y: parseInt(offset.top) - 20 }, //showCollapseButton: true, isModal: true, modalOpacity: 0.3, maxHeight: 700, maxWidth: 750, minHeight: 600, minWidth: 650, height: 700, width: 750, autoOpen: false, initContent: function() { $('#TempForm').jqxWindow('focus'); $("#TextBody").jqxEditor({ height: '500px',width: '650px' }); } }); }; return { config: { dragArea: null }, init: function() { _createElements(); _addEventListeners(); _createWindow(); } }; }()); $(document).ready(function() { //Initializing the demo basicDemo.init(); });
Hello pankhi,
Please try adding the following event handler as a solution:
$('#TempForm').on('close', function() { $("#TextBody").val(''); });
Best Regards,
DimitarjQWidgets team
http://www.jqwidgets.com/ -
AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic.