将隐藏表单字段的值设置为“false”,然后在服务器端获得“true”

时间:2011-01-25 20:10:54

标签: javascript jquery

我有一个隐藏的表单字段:

<input type=hidden id=blah1 value=true />

我有邻居,点击后我做:

$("#b1").bind("click", function(){

$("#blah1").attr("value", "false");

});

但是当我在服务器端获得表单值时,它是'true'。

我做错了吗?

我甚至做到了这一点:

e.preventDefault();
$("#blah1").attr("value", "false");
alert( $("#blah1").attr("value") );

它警告了值'false'。

2 个答案:

答案 0 :(得分:3)

即使没有名字&#39;属性,您将值设置为&#34; false&#34;就像在字符串中一样,非空字符串将每次都返回true。

$("#blah1").attr("value", "false");

应该是

$("#blah1").attr("value", false);

答案 1 :(得分:2)

您确实在实际代码中包含了“名称”属性,没有?

<input type=hidden id=blah1 value=true name=blah1 />

这仍然无法解释为什么在服务器端看到“true”。如果您在隐藏字段中包含“name”属性,请发布服务器端代码。

添加“name”属性后,运行您在此处发布的代码,可以获得预期的“假”结果。