送信ボタン name = "Add" をクリックすると、"addtobucketlist.php" という名前の php ファイルが呼び出され、その中で関数が実行されるような ajax 関数を作成しようとしています。
これは、「script.js」というファイルの ajax 関数で、動作していません。その理由はわかりません。(2 行目の hideshow('loading',1); が機能していることを確認しました。)
function Addtobucketlist(){
hideshow('loading',1); //line 2
error(0);
$.ajax({
type: "POST",
url: "http://utourpia.me/php/addtobucketlist.php",
data: $('#addBucket').serialize(),
dataType: "json",
success: function(msg){
if(parseInt(msg.status)==1)
{
//hide the form
$('.form').fadeOut('slow');
//show the success message
$('.done').fadeIn('slow');
}
else if(parseInt(msg.status)==0)
{
error(1,msg.txt);
}
hideshow('loading',0);
}
});
}
以下は私のheader.phpです
$(document).ready(function(){
$('#addBucket').submit(function(e) {
Addtobucketlist();
e.preventDefault();
});
});
以下は私のフォームです。これは、ajax が実行されるとフォームが非表示になり、完了した div クラスが表示されるように記述されています。
echo '<div class=form>';
echo '<form id=addBucket action="http://utourpia.me/php/addtobucketlist.php" method=post>';
echo '<input type="submit" name="add" value="Add" /><img id=loading src="../../images/loading.gif" alt="working.." />';
echo '</form>';
echo '</div>';
echo '<div class="done"><p>Added successfully! <br /></p>';
echo '</div>';
以下は addtobucketlist.php です。
if (isset($_POST['Add']))
{
add_to_bucket_list($location_id, $username);
die(msg(1,"<p>Added!</p>"));
}
else
{
var_dump($location_id);
var_dump($username);
}
function msg($status,$txt)
{
return '{"status":'.$status.',"txt":"'.$txt.'"}';
}
どんな助けでも大歓迎です!