diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-10-10 23:59:19 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-10-10 23:59:19 +0200 |
commit | 3b99a601546a722838cfdb65de9848b7a367b169 (patch) | |
tree | 7f063e1e43ced213e02ef1c769c3e0c784f431e8 /sys/src/cmd/mothra/forms.c | |
parent | f72da96f2898465c88ff683a69e5b7a14a931737 (diff) |
mothra: handle <input type=image>
Diffstat (limited to 'sys/src/cmd/mothra/forms.c')
-rw-r--r-- | sys/src/cmd/mothra/forms.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sys/src/cmd/mothra/forms.c b/sys/src/cmd/mothra/forms.c index 321751214..d8feef5ba 100644 --- a/sys/src/cmd/mothra/forms.c +++ b/sys/src/cmd/mothra/forms.c @@ -169,10 +169,27 @@ void rdform(Hglob *g){ f->type=RADIO; else if(cistrcmp(s, "submit")==0) f->type=SUBMIT; + else if(cistrcmp(s, "image")==0){ + f->type=SUBMIT; + s=pl_getattr(g->attr, "src"); + if(s && *s) + nstrcpy(g->state->image, s, sizeof(g->state->image)); + s=pl_getattr(g->attr, "width"); + if(s && *s) + g->state->width=strtolength(g, HORIZ, s); + s=pl_getattr(g->attr, "height"); + if(s && *s) + g->state->height=strtolength(g, VERT, s); + s=pl_getattr(g->attr, "alt"); + if(s==0 || *s == 0) s = f->value; + pl_htmloutput(g, g->nsp, s, f); + g->state->image[0] = 0; + g->state->width=0; + g->state->height=0; + break; + } else if(cistrcmp(s, "button")==0) f->type=BUTTON; - else if(cistrcmp(s, "image")==0) - f->type=FILE; else if(cistrcmp(s, "file")==0) f->type=FILE; else if(cistrcmp(s, "reset")==0) |