戻り値「data.res」結果変数に成功メッセージが含まれるたびにボタンセレクター「#view_btn」を表示するのに少し問題があります。
スクリプトは機能しますが、成功すると「#view_btn」セレクターはまったく表示されません。
if ステートメントで「data.res」を「data」に置き換えると、非表示にする必要がある場合でもボタンが常に表示されます。
私がしていることが間違っているのは何ですか?誰か助けてくれませんか?ありがとう。
// This is the PHP script: hello.php
<?php
// some code goes here:
if(isset($error))
{
echo json_encode(array("res"=>'error',"msg"=>$error));
}
else if (isset($success))
{
echo json_encode(array("res"=>'success',"msg"=>$success));
}
else
{
echo json_encode(array("res"=>'message',"msg"=>$message));
}
?>
これは、index.php HTML ヘッダーの JQuery です。
</script>
$(function() {
$("#submit_btn").click(function() {
var pid = $('#prod').attr("dir");
var base_url = "<?php echo $base_URL; ?>/my_ajax/"+ pid +"/hello.php";
$('#loading').show('fast');
$.ajax({
type: "POST",
url: base_url,
data: $("#pdForm").serialize(), // serializes the form's elements.
cache: false,
dataType:"json"
}).done(function( data ) {
$('#loading').hide('fast');
if(data.res == 'success' ){
$('#view_btn').show(); // show the button
alert(data.msg); // show response from the php script.
}else if (data.res == 'error') {
$('#view_btn').hide(); // hide the button
alert(data.msg); // show response from the php script.
}else if (data.res == 'message') {
$('#view_btn').hide(); // hide the button
alert(data.msg); // show response from the php script.
}else {
$('#view_btn').hide(); // hide the button
alert('Query data failed or invalid!'); // show response.
}
}, "json");
return false; // avoid to execute the actual submit of the form.
});
});
</script>