DOMを利用して
var f = document.getElementsByTagName("form");
でFormオブジェクト取得して、
f.name
でFormの名称取得する。そのForm内に"name"って名前のプロパティがあると期待通りに処理してくれない…。しょうがないから、(対象とするFormの名称は既知だったので)
var f = eval("document." + formName);
としたら解決。これで後はすんなり解決かと思ったら、
var f = document.createElement("form"); f.name = "hoge";
とかしてるフォームをさっきのevalしても取れない…。
散々、試行錯誤した上、IEでは
document.createElement("form");
した後にname属性は変更できないんだと…。なので、
document.createElement('<form name="hogehoge">')
とcreateElementする時にname属性は指定する必要があると…。