Re:JQuery magicpreview plug-in
by riklomas on Thursday November 20, 2008 @10:57AM
(#370676)
Hi, I'm the author of the plug-in, I actually hang around here quite often actually but I didn't realise my plug-in had been submitted until now.
The reason I made this plug-in was because I was doing what you were doing in your without-plugin example, but the form got more complex and suddenly the original code wasn't working as well. So I decided to make the plug-in to not only help me out but I figured that other people might be having the same problem too. However, if I was doing something quick and simple, I would do something akin to your without-plugin example.
However, read debt's comment below. XSS is irrelevant here since "XSS" means cross-site scripting, i.e., ,managing to embed Javascript into pages someone ELSE sees. Only the client sees this, it doesn't get reproduced for anyone else.
Re:JQuery magicpreview plug-in
by adamc on Friday November 21, 2008 @07:57AM
(#371848)
Filtering tags is notoriously difficult, though, because of the variety of encodings possible. Maybe you meant "properly encodes output"? That's the typical solution.
Re:JQuery magicpreview plug-in
by thomasmallen on Thursday November 20, 2008 @10:24AM
(#370643)
Awesome. I'm doing a redesign/rebuild right now and I was about to write this myself to create this effect for the Contact form (I first saw it on ALA years back in the discussion area).
using the plugin: $('form.example input:text').magicpreview('mp_');
without: $('form.example input:text').change(function() { $("mp_"+this).html(this.val()); });
or something like that =)
The reason I made this plug-in was because I was doing what you were doing in your without-plugin example, but the form got more complex and suddenly the original code wasn't working as well. So I decided to make the plug-in to not only help me out but I figured that other people might be having the same problem too. However, if I was doing something quick and simple, I would do something akin to your without-plugin example.
formelement.onchange=function() {previewelement.nodeValue=this.value}
True there are caveats, some elements don't fire change until they loose focus... in which case formelement.onkeyup = formelement.onchange etc etc.
I thought it was worth posting for the idea - building up a finished view alongside data entry. Could have some utility.
But yes, I should really add a flag to strip out any script elements :)