2

我正在使用一个函数,它将通过 ajax 提交,而无需单击按钮的帮助。但我目前遇到两个问题,经过反复试验并没有找到合理的解决方案:

首先有什么办法可以禁用输入按钮单击(这会导致整个页面刷新)?

JS 函数如何工作的JSFIDDLE基本示例

其次,感觉就像我正在绕道而行,以显示已发布的内容。如何更改函数的这一部分$('#special').html('<p>' + $('#resultval', result).html() + '</p>');以使其 POST 仅在调用的 div 内#special而不需要span 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 回答