根据选项标签创建不同的表单
create different forms based on option tag
我不太确定如何命名这个主题来解决我的问题,所以我很抱歉,如果这是一个重复的问题,但这个主题不是我想要的。
我找不到一种方法来创建一个动态的表单,改变一个选项标签,没有空白或未定义的字段,也通过POST发送。换句话说,无论如何,我可以动态地改变字段,这样我就不必发送空白字段隐藏起来通过。hide()在javascript?我在这里设置了一个jsfiddle,在这里我可能会在不同的选项中遇到类似的字段,但在另一个选项中也会遇到完全不同的字段。
http://jsfiddle.net/boyilus/c0bdx8xL/
下面是我选择的一个示例,但不完全符合我的要求:(jsfiddle的完整版本)
$('#companies').change(function(){
selection = $(this).val();
switch(selection)
{
case 'Microsoft':
$('#microsoftType').show();
$('#appleType').hide();
$('#googleType').hide();
$('#otherType').hide();
break;
......
......
}
});
感谢所有的帮助!提前感谢!
试试这个:
$('#companies').change(function(){
selection = $(this).val();
switch(selection) {
case 'Microsoft':
$('#microsoftType').show().find('input, select, textarea').prop('disabled', false);
$('#appleType, #googleType, #otherType').hide().find('input, select, textarea').prop('disabled', true);
break;
......
......
}
});
这利用了这样一个事实,即一旦提交表单就不会将禁用字段发送到服务器。您可以重构上面的代码并使其更好,但这就是您如何做到这一点的想法。
您可以通过标记disabled
或disabled="disabled"
属性来禁用表单中的其他字段。来自这些控件的数据将不会在请求中发送。如下所示:
switch(selection)
{
case 'Microsoft':
$('#microsoftType').show();
$("#microsoftType input, #microsoftType textarea").removeAttr('disabled');
$('#appleType').hide();
$("#appleType input, #appleType textarea").attr('disabled', 'disabled');
$('#googleType').hide();
$("#googleType input, #googleType textarea").attr('disabled', 'disabled');
$('#otherType').hide();
$("#otherType input, #otherType textarea").attr('disabled', 'disabled');
break;
......
......
}
当然,将这些hide/attr
和show/removeAttr
移动到单独的功能中是很好的。
相关文章:
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 使用Web Html表单创建Javascript数组
- 为网站表单创建一个专业的日历
- 如何创建动态ajax提交表单
- 如何在 Dreamweaver 上为我的表单创建摘要页面
- jQuery Mobile:动态表单创建显示本机控件与jQuery Mobile插件控件
- 如何为注册表单创建圆形轮廓仪表
- 我可以使用Orbeon表单创建具有固定位置的HTML表单字段吗
- javascript的polyfill用简单的表单创建对象
- OOP中的动态表单创建和提交
- 为动态表单创建处理程序
- 提交时如何使用html表单创建页面或html代码
- 在aspx中为应用程序表单创建选项卡
- 从Web表单创建代码片段(易于剪切和粘贴)
- Javascript和动态表单创建
- Javascript:重置表单创建的变量值
- 简单 HTML 表单创建循环中的永恒循环
- 类似 Google 表单的表单创建器与 Rails 4
- 如何使用javascript从Html表单创建xml文件
- Javascript如何基于另一个表单创建一个表单