其实,动态 FORM 的主要用途恐怕还是在于 HIDDEN 元素
有时候,想用 HIDDEN POST 一些数据,而且有各种不同的请求,如果为每种请求都写一个静态的 FORM,效率太低了,此时 DynForm 就显出价值了另外,恐怕就是对“编程主义”的网页设计人员有用——网页的所有内容都以程序和 DHTML 的方式,而不是直接写 HTML 代码的方式生成。俺尝试过这么干,对某些特殊页面还是很有效的,但都这样干好像也太过分了 :)
有时候,想用 HIDDEN POST 一些数据,而且有各种不同的请求,如果为每种请求都写一个静态的 FORM,效率太低了,此时 DynForm 就显出价值了另外,恐怕就是对“编程主义”的网页设计人员有用——网页的所有内容都以程序和 DHTML 的方式,而不是直接写 HTML 代码的方式生成。俺尝试过这么干,对某些特殊页面还是很有效的,但都这样干好像也太过分了 :)
this.parentElement = (_parentElement=="")?"",_parentElement;
this.oHiddenInputs = new ActiveXObject("Scripting.Dictionary");
this.oInputs = new ActiveXObject("Scripting.Dictionary");
this.oTextAreas = new ActiveXObject("Scripting.Dictionary");在添加DynFormNewHidden,,DynFormNewTextArea中分别添加:
this.oHiddenInputs.Add(_name,oInput);
this.oTextAreas.Add(_name,oTextArea);
this.oInputs.Add(_name,oInput);这样可以直接从DynForm直接访问到form中的元素:
var oDynForm = new DynForm(oDiv, "", "http://www.test.com", "post", "", "")
oDynForm.Create()
oDynForm.NewHidden("arg1", "value1")
alert(oDynForm.oHiddenInputs("arg1").value);
oDynForm.NewHidden("arg2", "")
oDynForm.oHiddenInputs("arg2").value="value2";
alert("隐藏元素有:" + oDynForm.oHiddenInputs.count + "个");
然后俺用程序把代码填进层里……