禁用的表单输入不会出现在请求中
我在表单中有一些禁用的输入,我想将它们发送到服务器,但Chrome将它们排除在请求之外。
有没有任何解决方法,而不添加隐藏字段?
<form action="/Media/Add">
<input type="hidden" name="Id" value="123" />
<!-- this does not appear in request -->
<input type="textbox" name="Percentage" value="100" disabled="disabled" />
</form>
具有“已禁用”属性的元素未提交,或者您可以说他们的值未发布(请参阅构建表单数据集的规范中步骤3中的第二个项目符号点)。
也就是说,
<input type="textbox" name="Percentage" value="100" disabled="disabled" />
仅供参考,
您可以在您的案例中使用readonly
属性,通过这样做,您将能够发布您的字段的数据。
也就是说,
<input type="textbox" name="Percentage" value="100" readonly="readonly" />
仅供参考,
使用jquery并用ajax发送数据,你可以解决你的问题:
<script>
$('#form_id').submit(function() {
$("#input_disabled_id").prop('disabled', false);
//Rest of code
})
</script>
如果您必须禁用该字段并传递数据,则可以使用javascript将相同的数据输入到隐藏字段中(或者也可以只设置隐藏字段)。 这将允许您禁用它,但仍会发布数据,即使您将发布到其他页面。
链接地址: http://www.djcxy.com/p/4495.html