2

私は、ボタンクリックの助けを借りずにajaxで送信する関数を使用しています。しかし、私は現在、試行錯誤でもっともらしい解決策を見つけられなかった2つの問題を経験しています。

まず、Enterボタンのクリックを無効にする方法はありますか(これによりページ全体が更新されます)?

JS関数がどのように機能するかについてのJSFIDDLEの基本的な例

第二に、投稿されたものを表示するために回り道をしているような気がします。関数のこの部分を変更して、必要なしに$('#special').html('<p>' + $('#resultval', result).html() + '</p>');呼び出されたdiv内でPOSTするようにするにはどうすればよいですか?#specialspan or <p> #resultval

PHPをエコーするたびに、結果を表示するために次のように設定する必要があります。<div id="special"><span id="resultval">This is the result.</span></div>

<script>
    $(document).ready(function() {
     var timer = null; 
     var dataString;   
     function submitForm(){
       $.ajax({ type: "POST",
                url: "posting.php",
                data: dataString,
                success: function(result){

                   $('#special').html('<p>' +  $('#resultval', result).html() + '</p>');

                }

       });
       return false;
     }
     $('#ytinput').on('keyup', function() {
        clearTimeout(timer);
        timer = setTimeout(submitForm, 050);
        var name = $("#ytinput").val();
        dataString = 'name='+ name;
     });
     }); 

</script>
4

1 に答える 1

1
$(document).ready(function() {
 var timer = null; 
 var dataString;   
 function submitForm(event){// the function call on click or on submit onclick=submitForm(event);

    event.preventDefault(); //to prevent enter key
   $.ajax({ type: "POST",
            url: "posting.php",
            data: dataString,
            success: function(result){

               $('#special').text(result); //you can use text() or html() only

            }

   });
   return false;
 }
 $('#ytinput').on('keyup', function() {
    clearTimeout(timer);
    timer = setTimeout(submitForm, 050);
    var name = $("#ytinput").val();
    dataString = 'name='+ name;
 });
 }); 
于 2012-07-20T09:30:08.190 に答える