0

我是 django 的新手,我不知道它包含一个表单库。我用 html 和 javascript 编写了一个显示复选框的动态表单,如果单击,它们会显示更多输入字段。

我想知道是否有一种简单的方法可以调整我已经编写的代码以使用 django 的表单库,因为使用 djangos 内置方法访问表单数据更加容易和清洁。

另外,如果我希望表单是动态的,我需要使用 formset 还是表单库具有这些功能?

这是我想转换为使用 Forms 库的代码:

<script language="javascript"> 
        function ifChecked(id, id2){
        var ele = document.getElementById(id);
        var ele2 = document.getElementById(id2);

        if(ele.checked){
            ele2.style.display = "block";
        }
        else{
            ele2.style.display = "none";
        }
    }

    function ifCheckedLine(id, id2){
        var ele = document.getElementById(id);
        var ele2 = document.getElementById(id2);

        if(ele.checked){
            ele2.style.display = "inline";
        }
        else{
            ele2.style.display = "none";
        }
    }
</script>

<body>
<form name="myform" action="resultsget" method = "get" >            
        <fieldset>
            <input type="checkbox" value="total_money" id = "money_check" name="check" onchange="javascript:ifChecked('money_check','money');" /> Filter by Total Money</br>

                <div id="money" style="display:none" name="option">  

                    <input type="checkbox" value="more" id="money_condition" onchange="javascript:ifCheckedLine('money_condition', 'money_text');"  name="condition"/> <label for="condition" > > </label>

                        <div id = "money_text" style="display:none"  >
                            <input type="text" id="money_box" name="money_name" value="lower limit" />
                        </div></br>

                    <input type="checkbox" value="less" id="money_condition1" onchange="javascript:ifCheckedLine('money_condition1', 'money_text1');" name="condition"/> <label for="condition1"> < </label>

                        <div id = "money_text1" style="display:none;"  >
                            <input type="text" id="money_box1" name="money_name1" value="upper limit" />
                        </div>

                </div> 
</fieldset>

    <input type="submit" value="Submit" />
</form>​

我还想知道我必须在 views.py 文件中放入什么来读取表单信息

谢谢!!

4

1 回答 1

0

使用 django 表单,您可以构建一个包含所需字段的表单,并使用模板渲染它。当您构建 django 表单时,表单的处理将变得容易。请参阅使用表单

对于动态启用/禁用字段,您编写的代码可以与使用 django 为表单字段输入的“id”的更改一起使用。我会建议使用jQuery为元素设置事件处理程序。

于 2012-08-29T05:59:08.153 回答