如何确保<select>表单字段在禁用时提交?

我有一个select表单域,我想标记为“只读”,因为用户无法修改该值,但该值仍然与表单一起提交。 使用disabled属性可防止用户更改该值,但不会将该值与该表单一起提交。

readonly属性只适用于inputtextarea字段,但基本上我想要的。 有什么方法可以使这个工作?

我正在考虑的两种可能性包括:

  • 不是禁用select ,而是禁用所有option并使用CSS灰显选择,使其看起来像禁用它。
  • 向提交按钮添加点击事件处理程序,以便在提交表单之前启用所有禁用的下拉菜单。

  • <select disabled="disabled">
        ....
    </select>
    <input type="hidden" name="select_name" value="selected value" />
    

    其中, select_name是您通常会给<select>

    另外一个选择。

    <select name="myselect" disabled="disabled">
        <option value="myselectedvalue" selected="selected">My Value</option>
        ....
    </select>
    <input type="hidden" name="myselect" value="myselectedvalue" />
    

    现在用这个,我已经注意到,根据你使用的是什么web服务器,你可能需要在<select>之前或之后放置hidden输入。

    如果我的记忆能够正确地为我服务,使用IIS,您可以在之前使用它,使用Apache进行处理。 一如既往,测试是关键。


    禁用这些字段,然后在表单提交之前启用它们:

    jQuery代码:

    jQuery(function ($) {        
      $('form').bind('submit', function () {
        $(this).find(':input').prop('disabled', false);
      });
    });
    

    我一直在寻找解决方案,因为我没有在这个线程中找到解决方案,我做了我自己的。

    // With jQuery
    $('#selectbox').focus(function(e) {
        $(this).blur();
    });
    

    简单来说,当你专注于它时,你只是模糊了这个领域,像禁用它,但实际上发送它的数据。

    链接地址: http://www.djcxy.com/p/26449.html

    上一篇: How to ensure a <select> form field is submitted when it is disabled?

    下一篇: how to remove html auto fill username & password?