显示占位符与显示值

Showing Placeholders vs. Showing Values

本文关键字:显示 占位符      更新时间:2023-09-26

我有一个Edit Information表单,它显示value s,没有占位符。然后,我使用jQuery将占位符添加到表单中,但希望占位符仅在值为空时显示。如果用户以前输入过该字段的信息,则字段具有值。

if ( $('[name="user_email"]').val() ) { $('[name="user_email"]').attr("placeholder", "Email").val(""); }
if ( $('[name="company"]').val() ) { $('[name="company"]').attr("placeholder", "Company Name *").val(""); }
if ( $('[name="password"]').val() ) { $('[name="password"]').attr("placeholder", "Password *").val(""); }

这应该用if ( $('[name="user_email"]').val() )检查字段的值是否为空,然后如果值为空,则插入占位符。当前,不带value的字段为空,但带value的字段被赋予占位符。

如果我把占位符放在其他地方,比如这个

if ( $('[name="company"]').val() ){} else { $('[name="company"]').attr("placeholder", "Company Name *").val(""); }

它将正确打印它们。但这是漫长而混乱的,我对值的内容进行的if检查显然没有像我认为的那样工作。如何缩短它并将其正确地转换为输入值和占位符?

只需使用下面的3条语句并删除其余的

$('[name="user_email"]').attr("placeholder", "Email");
$('[name="company"]').attr("placeholder", "Company Name *");//Company Name * will be shown as placeholder if field is empty
$('[name="password"]').attr("placeholder", "Password *"); //Same as above

正确的IF检查应为

if(! $('[name="user_email"]').val() ) 

使用此:

if ( $('[name="user_email"]').val() )

您正在检查是否存在值。。。不是空值。。。你的编码是这样的:如果有一个值,那么添加占位符。。。