Will do. Thanks. Chas.
David Pollak wrote: > Charles, > > I just checked in code that has a "return false" at the end of > ajaxButton. If you've pulled the Lift source from GitHub, please do a > fresh pull and an "mvn clean install" on Lift and then give it a try. > > Thanks, > > David > > On Mon, Dec 1, 2008 at 2:18 PM, Charles F. Munat <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > > Hmm. Crap. Damn that IE. > > Well, I have something working in Firefox on Mac for the button. It's > probably more complicated than it needs to be... > > def ajaxRemove(name: String, > func: AFuncHolder, > attrs: Tuple2[String, String]*): Elem = { > val funcName = mapFunc(func) > (<input type="button"/>) % > ("value" -> name) % > ("onclick" -> (makeAjaxCall(JsRaw("'" + > funcName+"='+this.checked")) + "; return false")) % > ("class" -> "removeButton") % > getAttrs(attrs: _*) > } > > Then: > > <td class="button">{FH.ajaxRemove("-", > () => { > val x = Model.getReference[X](classOf[X], tp.id <http://tp.id>) > survey.technicalPotentials.remove(x) > Model.merge(survey) > Model.remove(x) > Model.flush() > Run("$('#tp" + tp.id.toString + "').hide().remove();") > })}</td> > > #tp + tp.id.toString is the id of the <tr> attribute. > > I'll crank up the virtual machine and test it in IE. > > Thanks for looking at this. > > I could conceivably hide the row and delete all the individual inputs > (or maybe just hide the row), but that seems pretty kludgy. > > Chas. > > David Pollak wrote: > > Charles, > > > > If you're planning to deploy this app in IE, you may have an > issue. My > > experience with IE is that adding/removing <tr> doesn't always work > > well. :-( > > > > What is most likely happening is that your button is inside a > form. It > > turns out that there's a race condition where sometimes the > > XmlHttpRequest will get fired first and sometimes the form will be > > submitted first. > > > > Lemme see if I can do something fancy with returning false from the > > button ajax request to the event doesn't bubble up. > > > > Thanks, > > > > David > > > > On Mon, Dec 1, 2008 at 1:08 PM, Charles F. Munat <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote: > > > > > > I have a table in which each row represents an object in the > database, > > with each cell in the row an input bound to an attribute of > the object. > > I want to be able to add rows (with new, blank objects) and > delete rows > > (deleting both the row on the page and the associated object > in the > > database). > > > > I've set up a snippet method to insert a new row. It returns > the table > > row with all the inputs nicely bound. How do I call this with > AJAX and > > insert the NodeSeq into the current table? > > > > At the end of the row I have a [-] ajaxButton. It should > delete that row > > and the associated object using AJAX, but when I click it, > the page > > reloads and nothing changes. > > > > I've looked through the jQuery Lift stuff. Am I using the > ajaxButton > > wrong? Why would the page reload? And what methods are > appropriate to > > both updating an object (Model.remove(obj)) and deleting the row > > ($('#rowid').remove())? > > > > Any help appreciated. > > > > Chas. > > > > > > > > > > > > -- > > Lift, the simply functional web framework http://liftweb.net > > Collaborative Task Management http://much4.us > > Follow me: http://twitter.com/dpp > > Git some: http://github.com/dpp > > > > > > > > > > > -- > Lift, the simply functional web framework http://liftweb.net > Collaborative Task Management http://much4.us > Follow me: http://twitter.com/dpp > Git some: http://github.com/dpp > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---