0

我想知道使用 JQuery 使隐藏字段中的 value 属性无效的最佳反向兼容方法。

谢谢!

笔记:

$('#MyHiddenField').val('');

还不够好。

我需要一个好的老式空值。

4

1 回答 1

2

你不能。该value属性始终包含一个字符串。如果您为它分配除字符串之外的任何内容,它将被转换为字符串。

那是因为HTMLInputElement接口的value属性是 type DOMString。无论是否为hidden输入,输入元素接口都会强制将任何设置为input'value属性的值设为 type string,否则它会使最终用户无法使用输入元素 - 毕竟这是输入元素的目的。application/x-www-form-urlencoded如果输入值不是字符串,也无法发出常规请求。

您可能正在寻找隐藏输入以外的其他内容,但是您可以在不对代码进行重大更改的情况下执行以下操作:在使用该值并将其分配给之前检查该值是否为空字符串null

var v = $('#MyHiddenField').val();
if (v === '') v = null;
//use v as null in your code now

如果你需要它来发布到服务器端,操作是一样的。将其作为空字符串发布,然后检查发布的数据是否为空字符串并将其分配给null.

于 2012-09-24T15:33:53.617 回答