0

これが私のコードです:

<div id="test"></div>

<form id="form-lecturer-login"> 

    <table>
        <tbody>
        <tr>
            <td>
                <label class="label">Username : </label><br>
                <input name="username" value="" type="text">
            </td>
        </tr>
        <tr>
            <td>
                <label class="label">Password : </label><br>
                <input name="password" value="" type="text">
            </td>
        </tr>
    </tbody>
    </table>
    <input value="Log In" type="submit">
</form>

<script type="text/javascript">
$('#form-lecturer-login').submit(function(){
    $.post("../php/lecturer_login.php",$(this).serialize(),
    function(data){
    $('#test').html(data[0]).show();
    }, "json");
});
</script>

Lecturer_login.php で:

<?php
$stack = array();
array_push($stack,"test");
echo json_encode($stack);    
?>

注: 使用しないデータを渡していることを理解しています。テスト目的のためだけに。

「test」div はテキストを「test」に変更しません。

私はこれを例で学んでおり、jqueryのドキュメントに従いました。私は何が欠けていますか?以外のものが含まれていますか:

<script type="text/javascript" src="../js/jquery-1.4.2.min.js" ></script>

私が必要とする文書の頭に?

4

2 に答える 2

0

私は次のようなことをします

<?php
$stack = array();
$stack['info']='test';
echo json_encode($stack);    
?>

$.post の代わりに、私は $.ajax を好みます

       $.ajax({
                url:'../php/lecturer_login.php',
                type:'POST',
                dataType:'json',
                success:function (result) {
                    $('#test').html(result.info);//since info is the key of the json maybe the same for $.post
                }
        });

私はあなたが必要なことを忘れていました

event.preventDefault();
于 2013-02-27T21:06:38.357 に答える
0

問題は、ポストバックを妨げていないことだと思います。

これを試してください:

<script type="text/javascript">
$('#form-lecturer-login').submit(function(event){
   event.preventDefault();
   ...

関数にパラメーターを追加し、 preventDefault() メソッドを呼び出します。

于 2013-02-27T21:06:52.687 に答える