如何提交表格而不重新加载?

时间:2012-05-12 17:43:18

标签: javascript html forms

  

可能重复:
  Submit form without page reloading

嗨我需要提交一个没有重新加载的表单,我怎么能用javascript或框架来完成呢?

由于

3 个答案:

答案 0 :(得分:4)

您可以使用jQuery执行此操作:http://jquery.com/

它是一个javascript框架,你可以用来做这种事情的方法之一是:

$('#formID').submit(function(){

    var ajaxURL = '/ajax/saveAccountSettings.php';

    $.ajax({
        type: 'POST',
        url: ajaxURL,
        data: { 
            username: $('#accountForm #username').val()
        },
        success: function(data){

                        //Do something

        }
    });

    return false;

});

可能首先要了解如何使用jquery ...

答案 1 :(得分:0)

我建议使用JavaScript而不是尝试使用iframe。您正在寻找的是XHRRequest,最简单的解决方案是使用JQuery。我想写一个简单的例子,但this tutorial似乎涵盖了很好的步骤。

答案 2 :(得分:0)

您可以使用jQueryjQuery Form Plugin

jQuery Form Plugin的ajaxForm功能使您可以“劫持”HTML中的表单。考虑这个例子:

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 

    <script> 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind 'myForm' and provide a simple callback function 
            $('#myForm').ajaxForm(function() { 
                alert("Thank you for your comment!"); 
            }); 
        }); 
    </script> 
</head>
<body>
    <form id="myForm" action="comment.php" method="post"> 
    Name: <input type="text" name="name" /> 
    Comment: <textarea name="comment"></textarea> 
    <input type="submit" value="Submit Comment" /> 
</form>
</body>
</html>

有关详细信息,请参阅插件的网站。它支持各种用于错误处理的回调函数。