在提交表单时执行JavaScript

时间:2012-03-22 13:10:48

标签: javascript jquery html ajax forms

我使用JavaScript在我的网页上加载新页面。看起来像这样:

function loadpage(page,div) {
            $.get(page, function(data) {
                $(div).html(data)
            });
        };

因此,当我提交表单时,我想使用该函数加载您通常在form-tag中设置为“action”属性的php页面。那么如何让表单进行POST或GET(并不重要)所有内容并使用该函数。

现在,当我写道:

<form action="javascript:loadpage('bla.php','#content');" method="post">
...
</form>

它以我想要的方式加载bla.php,但没有数据通过POST ...

这个问题有解决方法吗?非常感谢你提前。

2 个答案:

答案 0 :(得分:2)

请参阅form.onsubmit事件

答案 1 :(得分:1)

使用您的方法,您可以按照以下方式执行此操作:

<强>使用Javascript:

function loadpage(page, div, form) {
    var GETdata = '';

    if ( form ) GETdata = $(form).serialize();

    $.get(page, GETdata, function(data) {
        $(div).html(data)
    });
};

<强> HTML:

<form action="javascript:loadpage('bla.php','#content', this);" method="post">
...
</form>

更好的方法是使用非突兀的Javascript。删除内联javascript:

<form id="theForm" action="" method="post">
...
</form>

并在您的Javascript代码中绑定您的事件处理程序:

$('#theForm').submit(function(e){
    e.preventDefault();
    loadpage('bla.php','#content', this);
});