HTML表单默认值为空,除非用户单击按钮?

时间:2012-12-30 23:40:28

标签: php html forms copy field

为简单起见,我们采取以下形式:

<form>
Title: <?php echo $title; ?><input type="text" name="title" value="">
</form>

$ title变量包含书名。在此示例中,输出将为:

Title: The Hobbit <empty form field>

这个想法是空字段允许用户在点击提交时更改书的标题或将书的标题复制到字段中。

问题是,我不知道如何创建“复制到字段”按钮。

此外,此表单有多个标题字段,每个字段都有相关选项,理想情况下,页面不会重新加载,否则用户将无法一次修改所有标题。

有人能指出我正确的方向吗?理想情况下,我不会使用javascript并严格保留在php / html中。

4 个答案:

答案 0 :(得分:2)

为什么不默认在value-attribute中写标题?

<form>
Title: <input type="text" name="title" value="<?php echo $title; ?>">
</form>

您可以使用css让输入元素看起来像普通文本,但是:通过设置典型边框将其“转移”到输入。

pro是:每个input-element都有默认值,因此如果用户发送表单,则所有值都存在。

但是,请注意逃避角色。

答案 1 :(得分:0)

 <?php $title="Some Title"; ?>

  <form method="post">

   Title: <?php echo $title; 

    <input type="hidden" name="title_name" value="<?php echo $title; ?>">

    <input type="text" name="title" value="<?php if (isset($_POST['title_name'])){echo $_POST['title_name'];}?>">

    <input type="submit" value="Change Value">

 </form>

答案 2 :(得分:0)

<form method="post">
    Title: <?php echo $_POST['title']; ?><input type="text" name="title[]" value="<?php echo $_POST['title']; ?>">
    <input type="submit" value="Change Value">
</form>

如果您有多个字段,则需要为标题行周围的每个循环添加一个字段,并且底部只有一个提交按钮,而name字段将需要是一个数组。

答案 3 :(得分:0)

<form>
    Title: <input type="text" name="title" value="<?= @$_POST['title'] ?>">
</form>