This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
On an event I am showing a JQuery.UI dialog. The way JQuery.UI Dialog works is it expects an existing DIV to simply transform into the dialog. I need a form in the dialog but I need it populated and shown via ajax. So here is how I go about doing that.
Note that the following line...
...takes the DIV element I created and performs an AJAX request to get the desired HTML. That HTML looks like...
This works. Note that now I have a script being loaded for this html. This code is where the problem eventually occurs. The first time I show the dialog everything works. There is a text field and a button. I enter something in the text field and hit enter or click the button and that value is submited via AJAX to the server and a table in the dialog is updated. However, subsequent times showing the dialog part of the script isn't working but no errors are being thrown.
The saveSynonym() function is always called. if I alert the lengh of $('#synonym\\.name') it is always 1 so I know it is only finding one element. However, $('#synonym\\.name').val() is coming back empty. Normally, that would trigger the error portion of the code. But the error isn't showing up either.
Just to reiterate, the first time the dialog is shown everything works as expected. Subsequent times it does not.