【问题标题】:Textarea form submit without refresh?Textarea表单提交而不刷新?
【发布时间】:2014-01-10 09:23:15
【问题描述】:

Textarea 不刷新提交表单

不刷新提交表单的代码

$(document).ready(function(){$("#post_reply").click(function(event) {
        $.post( '../services/leave_comment.php', $("#open_status").serialize(),  
        function( data ) 
        if(data.split("::")[1]==true){
            $("#data_status").html("Commented Successfully..");     
            $("#data_status").fadeOut(3000);               document.getElementById('_comment').value='';  
            $('#_comment').html("");
            location.reload();
        }else if(data.split("::")[1]==false){
            $("#data_status").html("Error occured in Comment Submission.. Try Again..");                +       
        $("#data_status").fadeOut(3000);  
        }

    }  
);  
});

shift+enter 换行代码,enter 提交表单

function getCaret(el) {
    if (el.selectionStart) {
        return el.selectionStart;
    } else if (document.selection) {
        el.focus();
        var r = document.selection.createRange();
        if (r == null) {
            return 0;
        }
        var re = el.createTextRange(),
        rc = re.duplicate();
        re.moveToBookmark(r.getBookmark());
        rc.setEndPoint('EndToStart', re);
        return rc.text.length;
    }
    return 0;
}
$('.commenttextarea').keyup(function (event) {
    if (event.shiftKey && event.keyCode == 13) {
        var content = this.value;
        var caret = getCaret(this);
        this.value = content.substring(0, caret) + "\n" + content.substring(caret, content.length - 1);
        event.stopPropagation();
    } else if (event.keyCode == 13) {
        $('.commentform').submit();
    }
});

这里是Fiddle!!

现在的问题是,提交表单后刷新 有时输入键无法正常工作。

感谢详细解释。

【问题讨论】:

  • 在哪里 .commenttextarea 和 .commentform 元素?我只能看到 post_reply 文本框无论如何你可以试试这个 event.preventDefault();有任何问题请告诉我。
  • 肯定会尝试的。

标签: javascript jquery html ajax


【解决方案1】:

试试这个event.preventDefault() 将帮助您在没有页面刷新的情况下我们可以提交。当您在事件处理程序中使用 ajax 时,请使用 event.preventDefault() 来防止页面刷新。

  (document).ready(function(){$("#post_reply").click(function(event) {

   event.preventDefault(); //NOTE HERE

 $.post( '../services/leave_comment.php', $("#open_status").serialize(),  
          function( data ) 
   if(data.split("::")[1]==true){
$("#data_status").html("Commented Successfully..");     
$("#data_status").fadeOut(3000);               document.getElementById('_comment').value='';  
    $('#_comment').html("");
    location.reload();
    }else if(data.split("::")[1]==false){
        $("#data_status").html("Error occured in Comment Submission.. Try Again..");                +       
    $("#data_status").fadeOut(3000);  
    }

          }  
        );  
      }); 

地方添加如下代码。

$(".commentform").on("submit", function (e) {
    e.preventDefault();
});

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    相关资源
    最近更新 更多