2

簡単にするために、次の形式を取ります。

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

$title 変数には、本のタイトルが含まれています。この例では、出力は次のようになります。

Title: The Hobbit <empty form field>

空のフィールドを使用すると、ユーザーは [送信] をクリックして本のタイトルを変更したり、本のタイトルをフィールドにコピーしたりできます。

問題は、「フィールドにコピー」ボタンを作成する方法がわからないことです。

さらに、このフォームには複数のタイトル フィールドがあり、それぞれに問題のオプションがあるため、ページがリロードされないことが理想的です。そうしないと、ユーザーは一度にすべてのタイトルを変更できなくなります。

誰かがこれに行くための正しい方向に私を向けることができますか? 理想的には、javascript を使用せず、厳密に php/html にとどまります。

4

4 に答える 4

2

デフォルトでタイトルを value-attribute に書いてみませんか?

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

css を使用して、入力要素を通常のテキストのように見せることができますが、:focus では、典型的な境界線を設定することによって入力に「転送」されます。

プロは次のとおりです。すべての入力要素にはデフォルト値があるため、ユーザーがフォームを送信すると、すべての値が存在します。

ただし、文字のエスケープに注意してください。

于 2012-12-30T23:58:49.700 に答える
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>
于 2012-12-30T23:47:32.540 に答える
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>

複数のフィールドがある場合は、タイトル行の周りに for each ループを配置する必要があります。下部には送信ボタンが 1 つだけあり、名前フィールドは配列である必要があります。

于 2012-12-31T00:04:06.243 に答える
0
<form>
    Title: <input type="text" name="title" value="<?= @$_POST['title'] ?>">
</form>
于 2012-12-31T00:07:43.230 に答える