为了简单起见,我们采用以下形式:
<form>
Title: <?php echo $title; ?><input type="text" name="title" value="">
</form>
$title变量包含书籍的标题。在本例中,输出为:
Title: The Hobbit <empty form field>
其想法是,空字段允许用户在单击Submit或将书名复制到字段中时更改书名。
问题是,我不知道如何创建"复制到字段"按钮。
此外,该表单有多个标题字段,每个字段都有问题的选项,因此理想情况下,页面不会重新加载,否则用户永远无法同时修改所有标题。
有人能给我指一个正确的方向吗?理想情况下,我不会使用javascript,而是严格使用php/html。
为什么不默认在value属性中写入标题?
<form>
Title: <input type="text" name="title" value="<?php echo $title; ?>">
</form>
您可以使用css让input元素看起来像一个普通的Text,但在:focus上,它通过设置一个典型的边界来"转移"到输入。
pro是:每个输入元素都有默认值,所以如果用户发送表单,所有值都存在。
但是,要注意转义字符。
<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>
如果您有多个字段,则需要在标题行周围为每个循环放置一个,并且底部只有一个提交按钮,并且名称字段需要是一个数组。
<?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>
<form>
Title: <input type="text" name="title" value="<?= @$_POST['title'] ?>">
</form>