Hi!
I’m doing a sort of Settings window. I have a div/button that once clicked creates and displays my window.
Ex.
Settings
and
function zSets() {
var w5= dhxWins.createWindow(“w5”, 200, 150, 400, 350);
w5.setText(“Setingss”);
w5.attachObject(sets);
}
The ‘sets’ object I attached contains a HTML select form where the user can select the background image , font size and color etc.
My problem is that i want this window to be created only once , so when the user clicks again on the button nothing happens. And then , if the user closes the window from the ‘x’ , then i want the button to be able again to create the window.
Basically i want to know if there’s a isClosed() method available similar to the isHidden().
Further more, in the select form, i know how to save into variables the selected data . How can i upload those variables (very simply)on the server, so that the next time the user opens the window, or refreshes the whole page for that matter, the information is saved.
I only need 3 simple variables like
var background=3;
var size=12;
car color= “FF0000”;
I need to store them in an .xml and then read them each time the settings window is created.
I know this may sound overcomplicated but I hope I made some sense.
Thanx a lot for the support so far, you guys are doing a great job with dhtmlX!
Hello,
there is isWindow(winId) method that allows to know if a window with a certain id exists. It returns true if the window is open (exists) and false- in the other case:
var isOpen = dhxWins.isWindow(“w5”);
not to open two windows equal…
var nw = new Array();
function zSets(m,t,x,y,w,h,s) {
if(!(nw[m])) {
nw[m] = 1;
var win = dhxWins.createWindow(m,x,y,w,h);
win.setText(t);
win.attachObject(s);
}
}
zSets(“w5”,“Setingss”,200,150,400,350,sets);

Ops! forgot…
to open the window again add: win.attachEvent(“onClose”,function(win){ nw[m]=null; return true; });
var nw = new Array();
function zSets(m,t,x,y,w,h,s) {
if(!(nw[m])) {
nw[m] = 1;
var win = dhxWins.createWindow(m,x,y,w,h);
win.setText(t);
win.attachObject(s);
win.attachEvent(“onClose”,function(win){ nw[m]=null; return true; });
}
}
zSets(“w5”,“Setingss”,200,150,400,350,sets);
Hello,
so, it seems that you have found own solution to solve the issue… Am I right ?
Well kinda Alex.
Soon after posting the question I found a solution.
I only create the window the first time i click the button and attach to the onClose() of the window a hide() action.
Then, whenever the user clicks the ‘x’ to close the window he only hides it.
So the next time the user clicks on the button to open the window i only use show().
Here’s the code I used :
function zSets() {
var isOpen = dhxWins.isWindow(“w5”);
if(!isOpen) {
var w5= dhxWins.createWindow(“w5”, 200, 150, 400, 350);
w5.setText(“Setari”);
w5.attachObject(setari);
dhxWins.window(‘w5’).attachEvent(“onClose”, function(w5) { w5.hide(); return false;});
}
else {
dhxWins.window(‘w5’).show();
}
}
Thanx a lot Alex , and Roger, although I didn’t use your solution that may come in handy along the way.
And, about the second part of my initial question.The actual Ajax part.
I need to have these settings saved on the server, so that the next time the user enters my page , the settings made in the settings window are the same.
I would need three variables. x,y,and z that once set by the user are sent to the server. How can i do that and how could i read them everytime the page loads?
Thanks again guys!
Hello,
there is dhtmlxAjax component - it allows to send information to the server and get responses using Ajax. Please, see its sample dhtmlxAjax/samples/samples_of_usage/send_request.html ( dhtmlx.com/docs/products/dhtmlxA … quest.html )