Mercurial > ajaxUpload
view src/c/ajaxUpload.c @ 1:f84d5e8aa992
Complete working example with required submit button click
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 29 Dec 2011 15:26:46 -0500 |
parents | 0c0f903d9440 |
children | df095eecba63 |
line wrap: on
line source
#include <ctype.h> #include <stdio.h> #include <ajaxUpload.h> uw_Basis_string uw_AjaxUploadFfi_tweakForm(uw_context ctx, uw_Basis_string iframeId, uw_Basis_string submitId) { return uw_Basis_mstrcat(ctx, "<iframe id=\"", iframeId, "\" name=\"", iframeId, "\" src=\"#\" style=\"width:0;height:0;border:0px solid #fff;\"></iframe>\n<script type=\"text/javascript\">var subm = document.getElementById(\"", submitId, "\"); subm.parentNode.target = \"", iframeId, "\"; var onSub = subm.onmousedown; subm.onmousedown = undefined; subm.parentNode.onsubmit = function() { onSub(); return true; }; subm.withHandle = subm.onkeydown; subm.onkeydown = undefined; </script>", NULL); } uw_Basis_string uw_AjaxUploadFfi_notifySuccess(uw_context ctx, uw_Basis_string submitId, uw_Basis_int handle) { return uw_Basis_mstrcat(ctx, "<script type=\"text/javascript\">var subm = window.top.document.getElementById(\"", submitId, "\"); window.top.event = {keyCode : ", uw_Basis_htmlifyInt(ctx, handle), "}; subm.withHandle(); </script>", NULL); } uw_Basis_string uw_AjaxUploadFfi_idToString(uw_context ctx, uw_Basis_string s) { return s; } uw_Basis_string uw_AjaxUploadFfi_stringToId(uw_context ctx, uw_Basis_string s) { char *s2 = s; if (*s2 == '-') ++s2; for (++s2; *s2; ++s2) if (!isdigit(*s2)) uw_error(ctx, FATAL, "AjaxUploadFfi.stringToId: Invalid ID"); return s; }