Javascript 如果输入字段有数据,则显示表单,否则不显示

Javascript 如果输入字段有数据,则显示表单,否则不显示,javascript,jquery,forms,Javascript,Jquery,Forms,我正在动态地将facebook注册数据中的文本添加到输入字段中,然后将这些数据填充到具有display:none属性的表单字段中。获取所有数据后,表单应显示为display:block。但这是行不通的。代码似乎在控制台上工作,但在浏览器上不工作 我正在检查输入字段是否已填写,然后显示表单或否 这是jsfiddle 怎么了?当输入字段中有内容但未显示时,它应该向我显示表单。.val()使用参数调用时,设置值并返回调用它的jQuery对象(以便于链接)。它不会返回这样的值,这与在没有参数的情况下调用

我正在动态地将facebook注册数据中的文本添加到输入字段中,然后将这些数据填充到具有
display:none
属性的表单字段中。获取所有数据后,表单应显示为
display:block
。但这是行不通的。代码似乎在控制台上工作,但在浏览器上不工作

我正在检查输入字段是否已填写,然后显示表单或否

这是jsfiddle

怎么了?当输入字段中有内容但未显示时,它应该向我显示表单。

.val()
使用参数调用时,设置值并返回调用它的jQuery对象(以便于链接)。它不会返回这样的值,这与在没有参数的情况下调用时不同

这意味着您的if条件

if ($("#firstname").val() == $("#firstname").val(dataCollection.first_name)) {

将始终失败,因为RHS不是新设置的值,而是jQuery对象
$(“#firstname”)
本身。

您不能检查
数据收集。first\u name
是否为空吗

这是一条单行线

$("#profileEdit").toggle(dataCollection.first_name.length);
参考:

说明:
.toggle()
可以接受布尔值。真=显示,假=隐藏

如果字符串的.length为零,则其计算结果为false,从而将false传递到
.toggle()
。反之亦然


如果确实要检查输入字段的值,则:

$("#profileEdit").toggle( $.trim( $("#firstname").val() ).length );

翻译成英语是:给我firstname的值,修剪它,并给我该字符串的长度,然后将其传递到
.toggle()

是否应该使用
==
进行平等性检查?有一件事:“$”(“#firstname”).val(dataCollection.firstname)”表示您设置了一个值,而“$(“#firstname”).val()'表示从给定元素中读取一个值。@shishirmk它不是nessecary。@reporter true我没有注意到comparisonYeah的更大问题,这就是我猜它失败的原因。
$("#profileEdit").toggle( $.trim( $("#firstname").val() ).length );