2012-04-10 16 views
1

私は間違っているのか分かりません。私は複数のフォーラムを検索しましたが、解決策はありませんでした。フォームから値を送信するために定義された以下のajaxがあります。私は、このコードが呼び出されていることを確認する警告機能を持っていますが、process.phpは実行されていません。なぜどんなアイデア?ここではAjaxコードである(私のdataStringは、すべての変数の値が含まれており、$ _POST変数には問題なさそうです。AjaxでフォームとPHPを送信

// JavaScript Document 
$(document).ready(function(){ 
$(".button").click(function() { 
    // validate and process form here 
    //alert("yayyy"); 

    var company = $("input#company").val(); 
    var jobfunc = $("input#jobfunc").val(); 
    var location = $("input#location").val(); 
    var overall = $("input#overall").val(); 
    var detail = $("textarea#detail").val(); 
    var pros = $("textarea#pros").val(); 
    var cons = $("textarea#cons").val(); 
    var sr_mgmt = $("textarea#sr_mgmt").val(); 
    var submitted_by = $("input#submitted_by").val(); 
    var classof = $("input#classof").val(); 
    var school = $("input#school").val(); 
    var anonymous = $("input#anonymous").val(); 
    if (anonymous == 'on') 
    { 
     var anonymous_tmp = 'Y'; 
    } 
    else 
    { 
     var anonymous_tmp = 'N'; 
    } 

    var dataString = 
    'company=' + company + 
    '&jobfunc=' + jobfunc + 
    '&location=' + location + 
    '&overall=' + overall + 
    '&detail=' + detail + 
    '&pros=' + pros + 
    '&cons=' + cons + 
    '&sr_mgmt=' + sr_mgmt + 
    '&submitted_by=' + submitted_by + 
    '&classof=' + classof + 
    '&school=' + school + 
    '&anonymous=' + anonymous_tmp; 

    alert (dataString); 
    $.ajax(
    { 
    type:"POST", 
    url:"process.php", 
    data:dataString, 
    success:function() 
    { 
     $('#testimonials').html("<div id='message'></div>"); 
     $('#message').html("<h2>Your information has been submitted!</h2>") 
     .append("<p>Thank you for your help and support.</p>") 
     .hide() 
     .fadeIn(1500, function() 
     { 
     $('#message').append("<img id='checkmark' src='images/check.png'/>"); 
     }); 
    } 
    }); 
    return false; 
}); 
}); 
+0

'firebug'を' firefox'や 'google chrome development tools'や他のブラウザで他のイントロスペクションツールを使って何が起こるかを見てください。 – Nemoden

+0

は@Nemodenと同意しますが、このプラグイン(http://malsup.com/jquery/form)を試してみると苦労することはありません。 – rjmcb

答えて

1

process.php 500エラーを返しているが、それはのルートに座っていますあなたのWebアプリ? あなたがお使いのブラウザでデベロッパーコンソールログを調べて見つける、または変更することができます 機能

success:function() 

success:function(res, textStatus, jqXHR) { 
console.log(res); 
console.log(textStatus); 
console.log(jqXHR); 
} 
へ0

と返されているものを調べてください。

また、代わりにフォームの値を構築するマニュアルの、なぜあなただ​​け

$('id_of_form').serialize(); 

を使用していないとだけ.post $にそれを渡しますか?

希望に役立ちます。

+0

こんにちはMarck、console.logの出力はどこで確認できますか?私は問題ではないはずですので、ルートファイルにprocess.phpがあります。私はserialize()オプションを使ったことが一度もありませんでしたが、それを調べるときれいになっています。しかし、あなたの迅速な返信をありがとう。 – amey1908

+0

こんにちは、私はちょうどconsole.logの出力を書きました、そして私は成功としてステータスを得ました。ですから、process.phpは呼び出されていますが、process.phpのSQL文は機能していないようです。ここに私のprocess.phpの内容があります。 $ _POST変数を定義し、SQLクエリをprocess.phpで実行するだけです。なぜそれが実行されていないすべてのアイデア。 – amey1908

+0

@ user1322955 process.phpのスニペットをアップロードできますか?乾杯 – marknatividad

関連する問題