为html表单提供默认值,并提供在$ _POST之前更改值的选项

时间:2013-04-22 01:39:17

标签: php html

我目前正在网页上创建一个html表单,我想知道是否有办法在文本框中添加默认值,但用户也可以删除默认文本并输入新文本如果他需要???

我目前拥有的是......

<html>
  <body>
    <form method="post">
      Suspend: <input type="text" name="sus"><br />
      Device Name: <input type="text" name="dev"><br />
      IP: <input type="text" name="ip"><br />
      Dependency: <input type="text" value="none" name="depend"><br />
      Email: <input type="email" value="abc@123.com" name="email">
      <input type="submit" value="submit" name="submit">
    </form>
    </body>
    </html>
 <?php
  if(isset($_POST['sumbit']))
 {
   $sus=$_POST['sus'];
   $dev=$_POST['dev'];
   $ip=$_POST['ip'];
   $depend=$_POST['depend'];
   $email=$_POST['email'];

    if(isset($sus) && isset($dev) && isset($ip) && isset($depend) && isset($email)
     {
       $update=mysqli_query($con, "UPDATE table SET Suspend=$sus, Device=$dev, IP=$ip,   Dependence=$depend, Email=$email WHERE id=$id");
      }
 }

使用电子邮件和依赖项字段,它们将是95%的时间默认值,但不是所有时间,我的老板想要为它们提供默认值,但也希望它们能够更改它们。然后我用这些$ _POST结果执行mysql查询来更新数据库...现在,即使你在表单中的字段中更改文本,它仍然输入数据库中的默认值..我需要它如果他们不更改默认值,那么默认值将被添加到数据库...任何帮助将不胜感激

4 个答案:

答案 0 :(得分:0)

你可以像那样获取php里面的值

$value = $_POST['email'];

如果您在输入框中输入了某些内容,则会获得默认值的值。

如果您使用 html5 ,则需要使用占位符attr ,然后在此处查看:

http://davidwalsh.name/html5-placeholder

答案 1 :(得分:0)

HTML 5具有INPUT标记的新占位符属性,但是当您在字段上键入时,此值会消失。 INPUT标记还具有value属性。

答案 2 :(得分:0)

试着看一下:Placeholders

占位符是输入中显示的默认文本。 但是,如果用户未插入任何内容,则在表单被子设置时,不会将占位符值包括在帖子中。 value=""仍然会被识别。

答案 3 :(得分:0)

由于占位符attr仍然相当新,并且不支持旧浏览器,因此这里有一个回退可用于提供与占位符attr相同的功能。

if (!("placeholder" in document.createElement("input"))) {
    var inputs = document.querySelectorAll("input[placeholder]"),
        input,
        dateDefault;

    for (var i = 0, len = inputs.length; i < len; i++) {
         input = inputs[i];
         input.value = input.getAttribute("placeholder");

         input.addEventListener("focus", function() {
             dateDefault = this.getAttribute("placeholder");
             (this.value === dateDefault) && (this.value === "");
         }, false);
         input.addEventListener("blur", function() {
             (this.value === "") && (this.value === dateDefault);
         }, false);
    }
}

如果占位符attr不可用,它将使用您为占位符attr放置的值并将其赋值给该值。然后使用一些js,您可以检测输入字段是否为空或仍具有原始值,或者用户是否已键入。您可以轻松地将其调整为jQuery或使用addEventListener,attachEvent或您需要的任何方式来支持您需要的浏览器。希望这有帮助!