0

jquery.form.js からの AjaxForm() 呼び出しを使用して、データをデータベースに入れ、それを引き出す php スクリプトを実行しようとしています。しかし、jquery.form.js からの ajaxForm 呼び出しを使用して、どのようにその呼び出しを行うのでしょうか?

*更新: いくつかのコードを追加 *

    $('#profilepicbutton').live('change', function(){
    $("#preview").html('');
    $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
        $("#registerpt3").ajaxForm({target: '#preview'}).submit();
        /*$.post(
        "register3.php",{
            target:'#preview'},
            function(data){*/
                $("#preview").html('');
                $("#preview").append("<img src="+data+"></img>");
 });

私のPHPコード...

    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
    {
  $name = $_FILES['profilepicinput']['name'];
  $size = $_FILES['profilepicinput']['size'];
  if(strlen($name))
  {
    list($txt, $ext) = explode(".", $name);
    if(in_array($ext,$valid_formats))
    {
        if($size<(1024*1024)) // Image size max 1 MB
        {
            $actual_image_name = time().$session_id.".".$ext;
            $tmp = $_FILES['profilepicinput']['tmp_name'];
            $fp      = fopen($tmp, 'r');
            $data = fread($fp, filesize($tmp));
            $data = addslashes($data);
            fclose($fp);
            if(mysql_query("insert into Personal_Photos (Email, Pics) values('$email', '$data')"))
            {
                $query="select Pics, MAX(ID) from Personal_Photos where Email='$email'";
                $result=mysql_query($query) or die("Error: ".mysql_error());
                $row=mysql_fetch_array($result);
                header("Content-type: image/jpg");
                print($row['Pics']);
            }
            else
            {
                die('Invalid query: ' . mysql_error());
                echo "failed";
            }
        }
        else
            echo "Image file size max 1 MB. Image Size:"+$size;
    }
    else
        echo "Invalid file format..";
}
else
    echo "Please select image..! Bull shit".$email;
exit;

}

つまり、データは自動的に魔法のように戻ってくるはずだと言っているのですか?

ajaxForm を呼び出すとき、関数を呼び出す必要がありますか?

更新: 例のリクエスト

こんにちは。私は常にコード例を求めている男になりたくありませんが、 ajaxForm() 呼び出しを行い、データを正常に取得してそこのページに投稿する例を持っている人はいますか? 何をすべきかわかりません...私が試したのは

$('#profilepicbutton').live('change', function(){
    $("#preview").html('');
    $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
        $("#registerpt3").ajaxForm({
                target: '#preview',
                success: function(data)
                {                                   
                    $("#preview").html('');
                    $("#preview").append("<img src="+data+"></img>");
                }
            }).submit();
 });

firebug を使用してデータの内容を把握すると、未定義であることがわかります。本当に混乱しています。助けてください。

4

1 に答える 1

1

これを行うだけ$('#myFormId').ajaxForm();で、自動的に魔法のように動作するはずです :) 標準の $.ajax オプションのいずれかを ajaxForm に渡すことができます (完了および成功のコールバックなど)。

ここで完全なドキュメントを見ることができます: http://jquery.malsup.com/form/#getting-started

于 2011-10-04T23:33:14.180 に答える