将所有表单元素放入数组中

时间:2012-07-04 06:54:53

标签: javascript

我有一个表单标记,用户可以通过单击他们希望在该表单中的元素来动态创建表单。通过单击元素得到附加在表单标记内。

这是被调用的函数。

function add_element(element)
{
    var startdiv = "<div class='form_content_middle_box' id = 'div"+i+"' onclick='javascript:edit(\""+element+"\",\""+i+"\");'> <a href='javascript:void(0);' onclick='javascript:remove("+i+");'>Delete</a></br>";
    var enddiv = "</div>";

    switch(element)
    {
        case 'textbox' :
            $('#myform_container').append(startdiv + "<label id='label"+i+"'>Untitled Textbox</label><p id='paragraph"+i+"'><input type = 'text' id='"+i+"'/></p>" + enddiv);
            form_elements.push(element);
            //alert(form_elements);
        break;
        case 'number' :
            $('#myform_container').append(startdiv + "<label id='label"+i+"'>Untitled Textbox</label><p id='paragraph"+i+"'><input type = 'number' id='"+i+"'/></p>" + enddiv);
            form_elements.push(element);            
        break;
        case 'textarea' :
            $('#myform_container').append(startdiv + "<label id='label"+i+"'>Untitled Textarea</label><p id='paragraph"+i+"'><textarea id='"+i+"'></textarea></p>" + enddiv);
            form_elements.push(element); 
           // alert(form_elements);
        break;
        case 'checkbox' :
            $('#myform_container').append(startdiv + "<label id='label"+i+"'>Untitled Checkbox</label><p id='paragraph"+i+"'><input type = 'checkbox' id='"+i+"' /></p>" + enddiv);
            form_elements.push(element);
        break;
        case 'radio' :
            $('#myform_container').append(startdiv + "<label id='label"+i+"'>Untitled MultipleChoice</label><p id='paragraph"+i+"'><input type = 'radio' id='"+i+"'/></p>" + enddiv);
            form_elements.push(element);
        break;
        case 'dropdown' :
            $('#myform_container').append(startdiv + "<label id='label"+i+"'>Untitled SelectBox</label><p id='paragraph"+i+"'><select id='"+i+"'><option></option></select></p>" + enddiv);
            form_elements.push(element);
        break;

        default:
        break;
    }

    i++;
}

创建表单后,用户将单击“保存”,我需要保存该表单, 我想知道一种获取用户所附加的所有元素和值的方法。一种将表单与数组中的所有元素一起保存的方法

2 个答案:

答案 0 :(得分:0)

我看到你的java脚本功能,我也知道你也在使用表格 通过这样做,您的表单的数据将传递给servlet或restful Web服务

<form name="f" action="rest/myMethod" method="post">
    ... //your form contents
</form>


myMethod 中,您可以拥有所有这些信息并将它们存储在array / file / db ...

答案 1 :(得分:-1)

尝试

var myElements=$('#myformID').find('input, textarea, button, select')

变量myElement将被转换为数组,并且将包含表单中的所有元素。

迭代变量myElements[index]将给出表单元素和 myElements[index].value将提供表单元素值