-1

この投稿は、この URL の投稿の続きですPHP で同じページに複数のページを読み込んでいます

申し訳ありませんが、これは新しいクエリだと思うので、新しい質問を投稿することを考えました..

そこにあなたの入力をありがとう..私のコアの問題は同じままです

「すべてのチェックボックスと送信ボタンがあるcwt.htmlという名前の基本的なHTMLページがあります。送信ボタンをクリックすると、選択したチェックボックス(cwt.htmlの)に関連付けられた次のページ(処理1.phpなど)が表示されます。も同じページに読み込まれます.."

問題を比較的修正したLoad関数呼び出しを使用しましたが、コードで別の重大な問題に直面しています..それで私を助けていただければ幸いです..

<html>
<head>
<title> Conditions We Treat </title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$("#submit1").click(function(){
$("#form1").load('processing1.php');
});
</script>
</head>
<body>
    <div id = form1>
        <input type = "checkbox" name = "sickness[]" value = "Nausea">Nausea</input><br/>
        <input type = "checkbox" name = "sickness[]" value = "Constipation">Constipation</input><br/>
        <input type = "checkbox" name = "sickness[]" value = "vomiting">Vomiting</input><br/>
        <div id = "submit1"><input type = "submit" name = "submit1" value = "submit"></input></div><br/>

    </div>  
</body>
</html>

私がしなければならないことは、送信をクリックすると、別のページに移動し、このページの値で処理する必要がある..

ここで見つけた制限は

  1. フォーム アクションを宣言すると、このページに読み込まれるのではなく、その特定のページに移動します。<form name = "i1" action = "processing1.php" method = "get">, 制御を processing1.php に渡すと、コンテンツが新しいページに読み込まれるようになります。

  2. フォーム アクションを指定しないと、意図したとおりに機能しますが、このページのデータを保持できません。

4

1 に答える 1

0

そのフォームで、submit-event をキャッチしてから AJAX 経由で新しいページを呼び出すイベント リスナーを使用することができます。jQuery API リファレンスには、これを行う方法が正確に記載されています: http://api.jquery.com/submit/

次に例を示します。

$('#form').submit(function(e) {
    // prevents the browser from sending the form
    e.preventDefault();
    // loads your nextpage.php into the target with the form-data sent as postdata
    $('#target').load(
        "nextpage.php",
        { postdata: $('#form').serialize() }
    );
    return false;
});

これ.submit()は、ブラウザがフォームを送信する前に呼び出されています。.preventDefault()したがって、送信イベントでデフォルトのアクションを実行しないようにブラウザーに指示するネイティブ関数を使用できます。その後、独自のイベント処理を行うことができます。この場合: AJAX 経由で新しいページを読み込み、現在のページのどこかに追加します。

.serialize()たとえば、AJAX 経由で送信できる文字列を作成します。http://api.jquery.com/serialize/

$(document).ready(function () { /* code here */ });AJAX を介して取得された HTML は、デフォルトでは最初の呼び出しの影響を受けないことを忘れないでください.live()。jQuery 機能をその新しいコードにバインドするには、 または何か他のものを使用する必要があります。

于 2013-03-03T08:51:02.470 に答える