如何进入占位符&同一文本框中的值

时间:2016-05-26 13:40:41

标签: php html

我想用变量为文本框添加水印。

我做到了这样做: placeholder="<?php echo $user;?>">

这会将正确的信息作为水印放在文本框中。但是,如果我没有在该文本框中输入任何信息(因为我希望数据保持不变),它会清除$user中存储的数据,因为我没有更新记录。

2 个答案:

答案 0 :(得分:2)

虽然不是特别的PHP解决方案(我建议Ben的答案),如果你需要有值,那么你可以使用CSS将值显示为占位符,然后使用:focus来制作它看起来像一个常规的输入标签。

您还可以使用data-*属性,然后在提交时使用Javascript / jQuery将值设置为您指定的数据属性。

input[type="text"] {
  color: darkgrey;
  padding: 5px;
  border: 1px solid grey;
}
input[type="text"]:focus {
  color: black;
  background-color: white;
}
<input type="text" value="Placeholder value" />

答案 1 :(得分:1)

这不会为输入设置值,但即使用户有意提交了空输入,它也是可靠的:

if (strlen($_POST['user']) == 0) {
  $_POST['user'] = $user;
}

你也可以用它来创造一个功能:

function nullCheck($index, $default = 'UNKNOWN') {
  if (strlen($_POST[$index]) == 0) {
    $_POST[$index] = $default;
  }
}

然后叫它:

nullCheck('user', $user);

但我不确定你是否将post变量(在函数中)作为:{$_POST[$index]},因为它可能会将index变量视为一个单独的变量。

注意:此代码未经测试