0

私はphpでajax呼び出しにjqueryを使用し、同じ結果を得ましたが、結果の(応答)HTMLには、送信ボタンをクリックした後に送信されないフォームが1つあります。同じエラーは発生しませんでした。また、Ajax を使用せずにこの応答 HTML フォームを送信したいと考えています。この問題について私を助けてください。

Ajax レスポンス:

<form method=\"post\" id=\"clientlist\" action=\"addclients.php\">
  //inputs fileds...
</form>

Ajax 呼び出し:

var $j = jQuery.noConflict();
$j(document).ready(function(){
   $j(".linktext").click(function(){ 

   //check which link is tobe click e.g. Prev or Next
   var link = $j(this).html();
   var limit = 1;
   if(link == 'Prev'){
     limit = document.getElementById('text_prev').value;
   }else if(link =='Next'){ 
     limit = document.getElementById('text_next').value;
   }

   $j.ajax({
     type: "POST",
     data: $j("#clientlist").serialize(),
     url: "agencyclients_ajax.php?start="+limit,
     success: function(response) {
       $j('#mainbody').html(response);
     }
  });
 });
4

4 に答える 4

0

フォームにはSUBMITイベントをご利用ください。送信をクリックすると、ajax 呼び出しを実行してから false を返して、フォームが通常の方法で送信されないようにします。

現在、リンクの CLICK イベントを使用しています//not encouraged.

jquery の競合がない場合は、次のコードを使用します。

(function($){
   $(function(){
      //$ can be used in this area without any conflict, provided by jQuery Docs for creating a plugin
   });
})(jQuery);
于 2012-10-12T11:25:57.640 に答える
0

ここに例があります。$('#submit') を送信ボタン ID に置き換えます。

$('#submit').click(function(){
     $.ajax({
         type:'POST',
         url: '/search.php',
         data: $j("#clientlist").serialize(),
         success: function(data){
            alert('sent');
         }
     });
return false;
});
于 2012-10-12T11:35:17.527 に答える
0

ajax レスポンスを次のように変更します。

<form method="post" id="clientlist" action="addclients.php">
  //inputs fileds...
</form>

スラッシュを削除します。

于 2012-10-12T11:28:25.440 に答える
0

これは、リロード後にイベント ハンドラーが「.linktext」に追加されないためです。

JQuery On 関数を使用して、DOM が変更されたときにイベント ハンドラーが再適用されるようにすることができます。

http://api.jquery.com/on/

$j(".linktext").click(function(){

になる

$j(".linktext").on("click", function(event){
于 2012-10-12T11:29:30.347 に答える