如何确保<select>表单字段在禁用时提交?
我有一个select
表单域,我想标记为“只读”,因为用户无法修改该值,但该值仍然与表单一起提交。 使用disabled
属性可防止用户更改该值,但不会将该值与该表单一起提交。
readonly
属性只适用于input
和textarea
字段,但基本上我想要的。 有什么方法可以使这个工作?
我正在考虑的两种可能性包括:
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?