From: Geoffrey T. <gta...@na...> - 2002-04-04 16:47:36
|
I agree with your suggestions. It's much more sensible to get the coordinates in a tuple, instead of 2 separate fields. It may break existing applications though, so it needs to be well-documented. If people are relying the existing behavior, then we _might_ want to make this configurable. - Geoff Matt Feifarek wrote: > We're working on some form code (we'll release it to the > group soon) and we > discovered a bug, or possible hole in Webkit, specifically in > the request() > object. > > Right now, when you make a form, you make a submit button like this: > <input type="submit" id="submit" name="_action_submit" value="go" /> > > When you click on that button, a field is added to the posted > variables that > has the key of '_action_submit'. WebKit looks for that > '_action_' and what > comes after it (in my case, 'submit'). > > It then checks the .actions() method to see if 'submit' is ok > to run, as a > method. > > Then, it runs .submit(). > > No problems so far. It's an elegant setup. > > Now, if we try and make an IMAGE submit button, (as seen on > Amazon, for > example) like this: > <input type="image" id="submit" name="_action_submit" value="go" > src="button.gif" height="20" width="20" /> > we've got a problem. > > The way image input works browsers is that the browser splits > the field into > two, and you end up getting something like this in fields: > > _action_submit.x=6,_action_submit.y=8 > > Which is the X and Y coordinate that the user clicked on when > they clicked > the image (if they hit enter instead of clicking, you get 0,0). > > This sneaks by Webkit, as 'submit.x' doesn't correspond to anything in > actions(). If you add it to actions(), you've got a problem, > because you > can't have a method name that has a period character. > > What SHOULD happen is that webkit should notice that it's > really a compound > value and make it into a tuple or something, turning it into > _action_submit=(6,8). > > What does everyone think? > > I can probably patch this, if people think it's the right thing to do. > > - Matt > > P.S. If one uses the 'old' way of doing actions... > methodNameForAction() one > can hijack the lookup table to conform the names, but you'd > lose the values. > And, we should make it work with the 'new' way. > |