-2

うまくいけば答えるのが素晴らしくて簡単なはずの質問があります。

データベースに行を追加するために使用されるフォームがあります。ページの読み込み時に表示されるデフォルトの行数は6です。フィールドを変更するか、ボタンをクリックするなどして、フォームに行を追加するオプションを追加したいと思います。

現在、フォームを印刷するためにwhileループを使用しています。私は簡単に言う:

while($rows > 0) {
    echo "FORM INPUTS HERE";
    $rows = $rows - 1;
}

したがって、ループはレコード1の入力のセットを出力し、次に1つをカウントから外してから、レコード2の入力のセットを出力します。

ページを更新せずにwhileループを取得してさらに印刷する方法はありますか?最も簡単な方法は、ページの上部に小さなフォームを作成し、追加の列フィールドと送信ボタンを追加することです。これにより、値が同じページにポストバックされ、デフォルトの行数に追加されます。

何も送信したり、投稿したり、GETしたりせずにこれを実行したいのですが、その場で発生させたいと思います。

whileループはすでに実行されているので、注意が必要かもしれません。また、2回目に実行する方法がわかりません。

乾杯

エド

4

3 に答える 3

1

空のフォームが必要な場合は、Javascriptを使用して、この新しいフォーム要素をその場でDOMに追加してください。:)

そのフォームにいくつかの情報をロードする必要がありますか?

于 2012-09-14T10:31:21.060 に答える
0

あなたはあなたの願い事をするためにajaxを使うことができます。ページは更新されませんが、サーバーに非同期でリクエストを送信し、コンテンツをフェッチしてフォームに追加します。

たとえば、次のようなコードがある場合:

<form method="post">
    <ul>
        <li><label><strong>Field 1:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 2:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 3:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 4:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 5:</strong> <input type="text" /></label></li>
    </ul>
</form>

jQueryの関数を使用して、次の$.getScriptようなスクリプトをフェッチできます。

$("form ul").append('<li><label><strong>Field ' + $currentValue + ':</strong> <input type="text" /></label></li>');

これはあなたのためにうまくいきます。

于 2012-09-14T10:28:03.600 に答える
0

すべての提案をありがとう。

ページの上部にある小さな1つのファイル形式を選択し、ユーザーが追加する行数を入力して、追加ボタンを押すことにしました。

このページはあまり凝ったものである必要はなく、実装がはるかに迅速で簡単なので、これで十分です。

どうもありがとう

エド

于 2012-09-14T14:40:29.183 に答える