1

ここはややこしい戦いです。PHP 検証と同じページにあるフォームを送信したいと考えています。

html

 <form id="form">
  //fields
  <input type="submit" id="submit">
  </form>

<?php
/ /check if form is good
?>

jquery

$("#actvpost").submit(function(){
    //code
  return false;
});

送信を押してもページが更新されます 外部ページを使用せずにデータを送信するにはどうすればよいですか

私はjqueryなしでそれを行うことができますが、それはページを更新します.jqueryを添付してページを更新しないようにしたいと思います.

4

3 に答える 3

5

jQuery セレクターで参照しているため、フォームの id は ではありactvpostません。formactvpost

あなたの送信機能はすべきではありませんreturn falseが、代わりに以下を利用する必要がありますevent.preventDefault:

$("#actvpost").submit(function( event ){
    event.preventDefault();
    // your code
});

eventオブジェクト_

すべてのイベントにはevent、トリガー時に最初の引数としてオブジェクトが渡されます。event.targetこのオブジェクトには、 and event.type(クリック、キーアップなどを返す) など、イベントに関する多くの便利なプロパティが含まれています。jQuery は、次のような便利なメソッドでこのオブジェクトを拡張します。preventDefault()

必須ではありませんがevent.preventDefault()、ハンドラーの最初ではないにしても、早い段階で配置することをお勧めします。これもまた、必須ではありませんが、将来、より複雑なコードを作成する予定がある場合は、良い方法です。組織化が鍵です。すべてがある種の共通の規則に従う必要があります。一般的な規則は言うまでもなく、任意の規則でコーディングすると、問題を解決するのがはるかに簡単になります。

基本的に、新しい HTTP リクエストなしで PHP を実行することはできないため、代わりに、サーバー側の検証を防御の最後の行として、送信前にJavaScript 検証のみを使用することもできます。フォームを PHP スクリプトに送信するには、次のいずれかが必要です。

  • AJAX を使用する (jQuery を使用すると簡単になります)
  • Javascript での応答の「ロード」イベントをリッスンしながら、iframe に送信します。

どちらも新しい HTTP リクエストを作成し、レスポンスを JavaScript で利用できるようにします。

于 2012-07-31T03:27:21.203 に答える
1

多分:

$("#actvpost").submit(function (event) {
  event.preventDefault();
  // here you may by your self send request and get response
});

また、jQuery Form Plugin のようなものを使用してajaxForm関数を使用することもできます。

于 2012-07-31T03:26:30.127 に答える
0

交換:

<form id="form">

と:

<form id="actvpost">
于 2012-07-31T03:54:11.670 に答える