标签: forms

对一组复选框使用HTML5"required"属性?

使用支持HTML5的新浏览器时(例如FireFox 4);
并且表单字段具有该属性required='required';
表格字段为空/空白;
然后点击提交按钮;
浏览器检测到"required"字段为空并且不提交表单;
而是浏览器显示一个提示,要求用户在该字段中键入文本.

现在,我有一组复选框,而不是单个文本字段,其中至少有一个复选框应由用户检查/选择.

如何required在此组复选框上使用HTML5 属性?(由于只需要检查其中一个复选框,我不能将该required属性放在每个复选框上)

PS.我正在使用simple_form,如果这很重要的话.


UPDATE

可以在HTML 5 multiple的属性是有帮助吗?有没有人用它来做类似我问题的事情?

UPDATE

似乎是这个功能不是HTML5规范的支持: ISSUE-111:什么是输入@需要均值@type =复选框?

(问题状态:问题已被标记为关闭而没有偏见.)以下是解释.

更新2

这是一个老问题,但是想澄清一下,问题的初衷是能够在不使用Javascript的情况下完成上述操作 - 即使用HTML5方式.回想起来,我应该让"没有Javascript"更加明显.

forms validation checkbox html5

150
推荐指数
7
解决办法
15万
查看次数

宽度:100%的CSS输入超出了父级的范围

我试图创建一个由两个带有插入填充的输入字段组成的登录表单,但这两个字段总是超出其父节点的边界; 问题源于添加的插入填充.可以采取哪些措施来纠正这个问题?

JSFiddle片段:http://jsfiddle.net/4x2KP/

注意:代码可能不是最干净的.例如,根本不需要封装文本输入的span元素.

    #mainContainer {
    	line-height: 20px;
    	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
        background-color: rgba(0,50,94,0.2);
    	margin: 20px auto;
    	display: table;
    	-moz-border-radius: 15px;
    	border-style: solid;
    	border-color: rgb(40, 40, 40);
    	border-radius: 2px 5px 2px 5px / 5px 2px 5px 2px;
    	border-radius: 2px;
    	border-radius: 2px 5px / 5px;
    	box-shadow: 0 5px 10px 5px rgba(0,0,0,0.2);
    }
    
    .loginForm {
    	width: 320px;
    	height: 250px;
    	padding: 10px 15px 25px 15px;
    	overflow: hidden;
    }
    
    .login-fields > .login-bottom input#login-button_normal {
    	float: right;
    	padding: 2px 25px;
    	cursor: …
Run Code Online (Sandbox Code Playgroud)

css forms input width

149
推荐指数
5
解决办法
14万
查看次数

你能在<textarea>中拥有多行HTML5占位符文本吗?

我在文本域中有鬼文本,当你使用HTML5的占位符属性关注它们时会消失:

<input type="text" name="email" placeholder="Enter email"/>
Run Code Online (Sandbox Code Playgroud)

我想使用相同的机制在textarea中包含多行占位符文本,可能是这样的:

<textarea name="story" placeholder="Enter story\n next line\n more"></textarea>
Run Code Online (Sandbox Code Playgroud)

但是那些\n出现在文本中并且不会引起换行...有没有办法让多行占位符?

更新:我使用它的唯一方法是使用 jQuery Watermark插件,该插件在占位符文本中接受HTML:

$('.textarea_class').watermark('Enter story<br/> * newline', {fallback: false});
Run Code Online (Sandbox Code Playgroud)

html forms html5 textarea placeholder

147
推荐指数
8
解决办法
10万
查看次数

Django将自定义表单参数传递给Formset

这是使用form_kwargs在Django 1.9中修复的.

我有一个看起来像这样的Django表单:

class ServiceForm(forms.Form):
    option = forms.ModelChoiceField(queryset=ServiceOption.objects.none())
    rate = forms.DecimalField(widget=custom_widgets.SmallField())
    units = forms.IntegerField(min_value=1, widget=custom_widgets.SmallField())

    def __init__(self, *args, **kwargs):
        affiliate = kwargs.pop('affiliate')
        super(ServiceForm, self).__init__(*args, **kwargs)
        self.fields["option"].queryset = ServiceOption.objects.filter(affiliate=affiliate)
Run Code Online (Sandbox Code Playgroud)

我用这样的方式称这个形式:

form = ServiceForm(affiliate=request.affiliate)
Run Code Online (Sandbox Code Playgroud)

request.affiliate登录用户在哪里.这按预期工作.

我的问题是我现在想把这个单一的表单变成一个formset.我无法弄清楚的是,在创建formset时,我如何将联盟信息传递给各个表单.根据文档制作一个formset,我需要做这样的事情:

ServiceFormSet = forms.formsets.formset_factory(ServiceForm, extra=3)
Run Code Online (Sandbox Code Playgroud)

然后我需要像这样创建它:

formset = ServiceFormSet()
Run Code Online (Sandbox Code Playgroud)

现在,我如何通过这种方式将affiliate = request.affiliate传递给单个表单?

python forms django django-forms

145
推荐指数
7
解决办法
4万
查看次数

轨道形式的单选按钮的标签

我的问题类似于这个, 但对于Rails应用程序.

我有一个带有一些单选按钮的表单,并希望将标签与它们相关联.的label形式辅助只需表单字段作为参数,但在这种情况下,我有一个单一的表单字段多个单选按钮.我看到的唯一方法是手动创建标签,硬编码为单选按钮自动生成的ID.有谁知道更好的方法吗?

例如:

<% form_for(@message) do |f| %>
    <%= label :contactmethod %>
    <%= f.radio_button :contactmethod, 'email', :checked => true %> Email
    <%= f.radio_button :contactmethod, 'sms' %> SMS
<% end %>
Run Code Online (Sandbox Code Playgroud)

这会产生类似于:

<label for="message_contactmethod">Contactmethod</label>
<input checked="checked" id="message_contactmethod_email" name="message[contactmethod]" value="email" type="radio"> Email
<input id="message_contactmethod_sms" name="message[contactmethod]" value="sms" type="radio"> SMS
Run Code Online (Sandbox Code Playgroud)

我想要的是:

<input checked="checked" id="message_contactmethod_email" name="message[contactmethod]" value="email" type="radio"><label for="message_contactmethod_email">Email</label>
<input id="message_contactmethod_sms" name="message[contactmethod]" value="sms" type="radio"> <label for="message_contactmethod_sms">SMS</label>
Run Code Online (Sandbox Code Playgroud)

forms ruby-on-rails

142
推荐指数
2
解决办法
13万
查看次数

手动设置FormBuilder控件的值

这让我疯了,我在枪下,无法再花上一整天的时间.

我试图在组件中手动设置一个控制值('dept'),它只是不工作 - 甚至新值记录到控制台正常.

这是FormBuilder实例:

initForm() {
  this.form = this.fb.group({
    'name': ['', Validators.required],
    'dept': ['', Validators.required],
    'description': ['', Validators.required],
  });
}
Run Code Online (Sandbox Code Playgroud)

这是接收选定部门的事件处理程序:

deptSelected(selected: { id: string; text: string }) {
  console.log(selected) // Shows proper selection!

  // This is how I am trying to set the value
  this.form.controls['dept'].value = selected.id;
}
Run Code Online (Sandbox Code Playgroud)

现在,当表单提交并且我注销时,this.form该字段仍然是空白的!我已经看过其他用户,updateValue()但这是beta.1,我不认为这是调用控件的有效方法.

我也试图打电话updateValueAndValidity()没有成功:(.

我只是ngControl="dept"在表单元素上使用,就像我正在使用表单的其余部分,但它是一个自定义指令/组件.

<ng-select
  [data]="dept"
  [multiple]="false"
  [items]="depts"
  (selected)="deptSelected($event)" <!-- This is how the value gets to me -->
  [placeholder]="'No Dept Selected'"></ng-select>
Run Code Online (Sandbox Code Playgroud)

forms components angular

142
推荐指数
9
解决办法
19万
查看次数

如何使用capybara检查表单字段是否已正确预填?

我有一个带有适当标签的字段,我可以用水豚填写没有问题:

fill_in 'Your name', with: 'John'
Run Code Online (Sandbox Code Playgroud)

我想在填写它之前检查它的值,但无法弄明白.

如果我fill_in在以下行之后添加:

find_field('Your name').should have_content('John')
Run Code Online (Sandbox Code Playgroud)

该测试失败,尽管之前的填充工作正如我通过保存页面验证的那样.

我错过了什么?

forms rspec capybara

141
推荐指数
2
解决办法
7万
查看次数

禁用表单字段不提交数据

有没有办法(使用属性标志或类似的东西)启用禁用提交数据的表单字段?

或者,如果那是不可能的,有没有办法阻止字段使用css或任何其他属性进行编辑而不是隐藏它们?

我的特殊情况是一个数据集的标识符,应该以表格形式显示(不可编辑) - 如果没有更好的解决方案,我想我会使用一个隐藏字段,除了被禁用的字段以保持实际显示它的已禁用值.

html css forms disabled-input

140
推荐指数
5
解决办法
11万
查看次数

HTTP方法的默认形式是什么?

在未指定方法的情况下提交HTML表单时,使用的默认HTTP方法是什么?GET还是POST?

这种行为是否在HTML标准之间发生了变化?

如果可能,请引用W3C标准文档.

html forms

139
推荐指数
5
解决办法
8万
查看次数

使用curl POST多部分/表单数据的正确方法是什么?

我使用这种语法发布文件以及一些参数:

curl -v -include --form "key1=value1" --form upload=localfilename URL
Run Code Online (Sandbox Code Playgroud)

该文件大小约为500K.首先,我看到发送端的内容长度为254.之后服务器响应的内容长度为0.我哪里错了?

这是命令的完整跟踪.

* Couldn't find host xxx.xxx.xxx.xxx in the _netrc file; using defaults
* About to connect() to xxx.xxx.xxx.xxx port yyyy (#0)
*   Trying xxx.xxx.xxx.xxx...
* Adding handle: conn: 0x4b96a0
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x4b96a0) send_pipe: 1, recv_pipe: 0
* Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) port yyyy (#0)
* POST /zzzzzz/UploadFile HTTP/1.1
* User-Agent: curl/7.32.0
* Host: xxx.xxx.xxx.xxx:yyyy …
Run Code Online (Sandbox Code Playgroud)

forms post curl

139
推荐指数
3
解决办法
15万
查看次数