标签: forms

在Django表单中,如何将字段只读(或禁用)以使其无法编辑?

在Django表单中,如何将字段设置为只读(或禁用)?

当表单用于创建新条目时,应启用所有字段 - 但是当记录处于更新模式时,某些字段必须是只读的.

例如,在创建新Item模型时,所有字段都必须是可编辑的,但在更新记录时,有没有办法禁用该sku字段以使其可见,但无法编辑?

class Item(models.Model):
    sku = models.CharField(max_length=50)
    description = models.CharField(max_length=200)
    added_by = models.ForeignKey(User)


class ItemForm(ModelForm):
    class Meta:
        model = Item
        exclude = ('added_by')

def new_item_view(request):
    if request.method == 'POST':
        form = ItemForm(request.POST)
        # Validate and save
    else:
            form = ItemForm()
    # Render the view
Run Code Online (Sandbox Code Playgroud)

班级ItemForm可以重复使用吗?ItemForm或者Item模型类需要进行哪些更改?我是否需要编写另一个类" ItemUpdateForm"来更新项目?

def update_item_view(request):
    if request.method == 'POST':
        form = ItemUpdateForm(request.POST)
        # Validate and save
    else:
        form = ItemUpdateForm()
Run Code Online (Sandbox Code Playgroud)

forms django field readonly

403
推荐指数
17
解决办法
25万
查看次数

Chrome会忽略autocomplete ="off"

我创建了一个使用标记框下拉列表的Web应用程序.这适用于除Chrome浏览器(版本21.0.1180.89)以外的所有浏览器.

尽管input字段和form字段都具有该autocomplete="off"属性,但Chrome 仍然会显示该字段的先前条目的下拉历史记录,这会删除标记框列表.

html forms google-chrome autocomplete

399
推荐指数
31
解决办法
33万
查看次数

使用jQuery清除表单字段

我想清除表单中的所有输入和textarea字段.当使用类的输入按钮时,它的工作方式如下reset:

$(".reset").bind("click", function() {
  $("input[type=text], textarea").val("");
});
Run Code Online (Sandbox Code Playgroud)

这将清除页面上的所有字段,而不仅仅是表单中的字段.我的选择器如何只是实际重置按钮所在的形式?

html forms jquery

386
推荐指数
22
解决办法
87万
查看次数

如何使用JavaScript/jQuery获取表单数据?

是否有一种简单的单行方式来获取表单的数据,如果它是以经典的HTML方式提交的话?

例如,在:

<form>
    <input type="radio" name="foo" value="1" checked="checked" />
    <input type="radio" name="foo" value="0" />
    <input name="bar" value="xxx" />
    <select name="this">
        <option value="hi" selected="selected">Hi</option>
        <option value="ho">Ho</option>
</form>
Run Code Online (Sandbox Code Playgroud)

日期:

{
    "foo": "1",
    "bar": "xxx",
    "this": "hi"
}
Run Code Online (Sandbox Code Playgroud)

这样的事情太简单了,因为它没有(正确地)包括textareas,选择,单选按钮和复选框:

$("#form input").each(function () {
    data[theFieldName] = theFieldValue;
});
Run Code Online (Sandbox Code Playgroud)

javascript forms jquery

373
推荐指数
21
解决办法
69万
查看次数

"for"属性在HTML <label>标记中的作用是什么?

我想知道以下两个代码片段之间的区别是什么:

<label>Input here : </label>
<input type='text' name='theinput' id='theinput'/>
Run Code Online (Sandbox Code Playgroud)

<label for='theinput'>Input here : </label>
<input type='text' name='theinput' id='theinput'/>
Run Code Online (Sandbox Code Playgroud)

我确定当你使用一个特殊的JavaScript库时它会有所作为,但除此之外,它是否验证HTML或其他原因需要?

html forms label input

367
推荐指数
3
解决办法
17万
查看次数

multipart/form-data的边界是什么?

我想问一个关于这个的问题multipart/form-data.在HTTP标头中,我发现了Content-Type: multipart/form-data; boundary=???.

???免费的用户定义?或者它通常来自HTML?我可以定义??? = abcdefg吗?

html forms http

365
推荐指数
3
解决办法
28万
查看次数

使用Ajax以一种形式上传数据和文件?

我正在使用jQuery和Ajax为我的表单提交数据和文件,但我不确定如何以一种形式发送数据和文件?

我目前对这两种方法的做法几乎相同,但数据收集到数组的方式不同,数据使用.serialize();但文件使用= new FormData($(this)[0]);

是否可以将两种方法结合起来,以便能够通过Ajax以一种形式上传文件和数据?

数据jQuery,Ajax和html

$("form#data").submit(function(){

    var formData = $(this).serialize();

    $.ajax({
        url: window.location.pathname,
        type: 'POST',
        data: formData,
        async: false,
        success: function (data) {
            alert(data)
        },
        cache: false,
        contentType: false,
        processData: false
    });

    return false;
});

<form id="data" method="post">
    <input type="text" name="first" value="Bob" />
    <input type="text" name="middle" value="James" />
    <input type="text" name="last" value="Smith" />
    <button>Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

文件jQuery,Ajax和html

$("form#files").submit(function(){

    var formData = new FormData($(this)[0]);

    $.ajax({
        url: window.location.pathname,
        type: 'POST',
        data: formData,
        async: false,
        success: function (data) {
            alert(data) …
Run Code Online (Sandbox Code Playgroud)

javascript forms ajax jquery

359
推荐指数
6
解决办法
50万
查看次数

文本输入字段的CSS选择器?

如何使用CSS选择器定位"text"类型的输入字段?

html css forms html-input css-selectors

358
推荐指数
4
解决办法
41万
查看次数

使用jQuery重置多阶段表单

我有一个带有标准复位按钮的表格,因此编码:

<input type="reset" class="button standard" value="Clear" />
Run Code Online (Sandbox Code Playgroud)

麻烦的是,表示表单属于多阶段排序,因此如果用户填写一个阶段然后稍后返回,则单击"清除"按钮时,不会重置各个字段的"记住"值.

我认为附加一个jQuery函数来遍历所有字段并"手动"清除它们就可以了.我已经在表单中使用了jQuery,但我只是起步速度,所以我不知道如何解决这个问题,除了通过ID单独引用每个字段,这看起来效率不高.

TIA提供任何帮助.

forms jquery reset

348
推荐指数
9
解决办法
27万
查看次数

jQuery - 动态创建隐藏的表单元素

使用jQuery 动态创建隐藏输入表单字段的最简单方法是什么?

javascript forms jquery hidden-field

320
推荐指数
5
解决办法
31万
查看次数