4

単純なフォームがあるとしましょう(ただし、かなり長いです)。

このフォームはユーザーデータをデータベースに送信します。最初の送信後、一度に1つのセクションだけで、完全に編集されることはめったにありません(99.99%)。

ユーザーが必要なセクションまで半分下にスクロールしてから、同じ距離をもう一度スクロールして送信する必要がないようにします。

<form>

    <div>
        <input type="text" />
    </div>
    <div>
        <input type="text" />
    </div>
    <div>
        <input type="text" />
    </div>
    <div>
        <input type="text" />
    </div>

    <input type="submit" />

</form>

それが「非常に」基本的な構造です。このようなことをするためのまともな習慣と見なされます

<form>

    <div>
        <input type="text" />
    </div>
    <input type="submit" />
    <div>
        <input type="text" />
    </div>
    <input type="submit" />
    <div>
        <input type="text" />
    </div>
    <input type="submit" />
    <div>
        <input type="text" />
    </div>

    <input type="submit" class="afterFormSubmit"/>

</form>

これを行うための「より良い」方法があるかどうか、またはこれがそれを達成するためのより良い方法の1つであるかどうかはわかりませんか?

4

4 に答える 4

2

AJAXでこれを行わない限り、最良の方法は2つのフォームを使用することです。同じフォーム内でajaxリクエストを使用して2つの異なるものを送信できます。

または、各セクションに送信ボタンを備えた同じフォームが必要な場合は、次のような送信リンクだけです。

<a href="JavaScript:submit_form();">Submit</a>

このように、送信のどのセクションにあるかに関係なく、希望するフォームで機能します。

別のオプションは、タブを使用して分割することです。つまり、http://jqueryui.com/demos/tabs/

タブ領域の外で1件の送信を行うことができます。詳細はこちら:http ://www.jankoatwarpspeed.com/post/2009/02/18/How-to-deal-with-large-webforms.aspx

于 2012-08-30T21:52:28.013 に答える
2

送信ボタンをスクロールできないビューに配置します。

<form>
  <input type='text'/>
  ...
  ...
  <input type='submit' style="display:fixed; top:100px; left:200px;" />
</form>
于 2012-08-30T21:54:38.573 に答える
0

はい、Xを使用した単純なカレンダーだけが必要な1人のクライアントに対して一度行いました。

各カレンダーに送信ボタンを配置し、それらすべてをphp_selfという1つのフォームに埋め込みました。

OOPが好きなのに、手続き型ファイルが大きい

于 2012-08-30T22:00:33.357 に答える
0

あなたの場合、を持っているだけでなく、<form>あなたが望む送信ボタンごとに異なるフォームを持っているべきだと思います。

于 2012-08-30T21:48:38.093 に答える