0

あるページにフォームがありaction="/profile"、Ajaxコードを作成して、ページを更新せずにそのページに移動することなく更新しようとしています。私がこれをどのように行うか、または実際にそれを正しく行っているかどうかについてのアイデアはありますか?

$(function() {  
   $('.error').hide();  
     $("#submit").click(function() {  
// validate and process form here  
$('.error').hide();  
  var stat = $("#profile_field_13_5").val();  
    if (stat == "") {  
  $("#name_error").show();  
  $("#profile_field_13_5").focus();  
  return false;  
}  
var dataString = 'stat='+ stat ;
 $.ajax({  
          type: "POST",  
          url: "/profile.php",  
          data: dataString,  
          success: function() {  
     $('#statsucces').show();
         window.setTimeout("closeSuccess();", 10000);

         function closeSuccess(){
         document.getElementById("statsuccess").style.display=" none";
     }
      });  
  });  
 return false;  
  });
});

これは、ステータス更新を行うために使用しようとしている入力フィールドです

#profile_field_13_5フォームアクションは再び/profile.php

私を助けてくれてありがとう

4

1 に答える 1

0

フォームを送信する場合は、次のようにしてください。

$("form").submit(function (e) {
    // validate and process form here  
    $('.error').hide();
    var stat = $("#profile_field_13_5").val();
    if (stat == "") {
        $("#name_error").show();
        $("#profile_field_13_5").focus();
        return false;
    }
    var dataString = 'stat=' + stat;
    $.ajax({
        type: "POST",
        url: "/profile.php",
        data: {data:dataString}, //<---pass it this way
        success: function (data) {
            alert(data); // <----this will show the passed value
            }
        });

e.preventDefault(); //return false; <--preventDefault() is as same as return false;
});

これを試して、これが役立つかどうかを確認してください。

于 2013-01-20T05:57:00.360 に答える