1

フォーム投稿を php ページ (ダミーの変数がある) に送信してから、結果を返し、同じページの 'userinfo' div に表示しようとしています。同じページに情報を投稿するか、Ajax を使用する必要があると思われますが、これを達成する方法がわかりません。

数時間ウェブをトロールしても、私がやろうとしていることの適切な例は提供されませんでした.

任意の助けをいただければ幸いです:

とにかくここにコードがあります:

        <form name="Find User" id="userform" class="invoform" method="post" action="includes/find.php" />
            <div id ="userdiv">
                <p>Name (Lastname, firstname):</p></label><input type="text" name="username" id="username" class="inputfield" />
                <input type="submit" name="find" id="find" class="passwordsubmit" value="find" />
            </div>
        </form>
        <div id="userinfo"><b>info will be listed here.</b></div>

php ダミー変数:

<?php

$user=$_POST['username'];
$username="username";
$gg_groups="gg_usergroups";
$enabled="True";

$result = array(
    'username' => $username,
    'user' => $user,
    'usergroups' => $gg_groups,
    'enabled'=> $enabled
);

echo json_encode($result);

?>
4

5 に答える 5

1

何をしようとしているのか正確にはわかりませんか?同じページにフォームを送信するのは簡単です。次のように action 属性を空白のままにしておくだけです。

<form name="Find User" id="userform" class="invoform" method="post" action="">

次に、これを php に追加して、フォームが送信されたかどうかを確認します。

if(isset($_POST['find'])){
    //Do whatever you want with the form here
}

コメント後の編集:すべてのコードなしで正確なコードを提供するのは難しいですが、phpだけに固執します。フォームを表示したいページにフォームを送信し、結果を処理するphpファイルを含めてから書き込みます結果を出力するためのエコーステートメント?このようなもの:

    <form name="Find User" id="userform" class="invoform" method="post" action="">
        <div id ="userdiv">
            <p>Name (Lastname, firstname):</p></label><input type="text" name="username" id="username" class="inputfield" />
            <input type="submit" name="find" id="find" class="passwordsubmit" value="find" />
        </div>
    </form>
    <div id="userinfo">
    <?php
    if(isset($_POST['find'])){
        include('dummyvars.php');
        echo"Username = ". $username . "<br> User = ". $user ."<br> Usergroups = ". $gg_groups ."<br> Enabled = ". $enabled;
    }
    ?>
    </div>
于 2013-06-14T12:55:19.623 に答える
0

使用をお勧めしjQuery.ajax()ます:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "some.php",
    data: {$("#username").val();}
    success: function(data) {
        $("#userval").text(data.username);
    }
});
于 2013-06-14T12:47:32.687 に答える
0

jquery ライブラリとこの JavaScript コードを使用できます。

$(document).ready(function(){
    $('#find').click(function(){
        var form = $(this).closest('form');

        $.post(form.attr('action'), form.serialize(), function (data){
            var c;
            $.each(data, function(i, e){
                c += i + ':' + e;
            });
            $('#userinfo').html(c);
        }, 'json');
    });
});
于 2013-06-14T12:47:41.247 に答える
0
<script type="text/javascript">

$(document).ready(function(){

$("#find").click(function(){
    var username  = $("#username").val();
        $.ajax({
        type: 'POST',
        dataType: 'json',
        url: 'includes/find.php',
        data: 'username='+username,
        success: function( data ) {
        //in data you result will be available...show here

        },

error: function(xhr, status, error) {
    alert(status);
    },
dataType: 'text'

});
    });

});



</script>

<form name="Find User" id="userform" class="invoform" method="post" />

<div id ="userdiv">
  <p>Name (Lastname, firstname):</p>
  </label>
  <input type="text" name="username" id="username" class="inputfield" />
  <input type="button" name="find" id="find" class="passwordsubmit" value="find" />
</div>
</form>
<div id="userinfo"><b>info will be listed here.</b></div>
于 2013-06-14T13:14:28.207 に答える