两种设置表单中必填内容的方法:required autofocus

两种设置表单中必填内容的方法:
1、在input或textarea中增加required,及autofocus
会自动将光标定位到框内,同时如果是空,则提示必填内容。

<p>{{ header_title }}</p>
    主题:{{ topic.text }}
    <br />
    <form action="{% url 'learning_logs:new_entry' topic.id %}" method="post">
        {% csrf_token %}
        <input style="width:800px;height:30px;" type="text" class="form-control" id="item_name" name="title" placeholder="输入新条目标题" autofocus required><br /><br />
        <textarea style="width:800px;height:150px;" id="item_cnt" class="form-control" rows="3" name="text" placeholder="输入新条目内容" required></textarea>
        <br />
        <button  name="submit">add entry</button>
{#        <button type="submit" value="Submit">add topic</button>#}
        <button type="reset" >reset topic</button>

    </form>

2、 使用判断语句,if all(()),else则重新渲染到原输入前的页面

 else:
        #如果是post方式,获取表单改过的内容,修改表单内容。重定向到entries的html中重新显示重定向。
        title = request.POST.get('title', None)
        text = request.POST.get('text', None)
        if all((title,text)):
            try:
                Entry.objects.filter(id=entry_id).update(title=title, text=text, topic_id=topic.id)
                return redirect(reverse('learning_logs:entries', args=[topic_id]))

            except:
                entry.title = title
                entry.text = text
                context = {'topic': topic, 'entry': entry, 'entry.title': entry.title, 'entry.text': entry.text}
                return render(request, 'edit_entry.html', context=context)
        else:
            # return redirect(reverse('learning_logs:edit_entry', args=[entry_id]))#重定向这个页面要id。
            entry.title = title
            entry.text = text
            n = 1
            context = {'topic': topic, 'entry':entry, 'entry.title': entry.title, 'entry.text': entry.text,'n':1}
            return render(request, 'edit_entry.html', context=context)
            #注意,这个少传了一个entry,因为模板中有entry.id/
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值