如何使用特定形式的Ajax

时间:2013-05-29 05:52:35

标签: ajax jquery

$(function() {
    $("input[type=submit]").click(function() {
        var fname = $("#fname").val();
        var lname = $("#lname").val();
        var mail = $("#mail").val();
        var remail = $("#remail").val();
        var password = $("#password").val();
        var gender = $("#gender").val();
        var dataString = 'fname='+ fname + '&lname=' + lname + '&mail=' + mail + '&remail=' +     remail + '&password=' + password + '&gender=' + gender;

        if(fname=='' || lname=='' || mail=='' || remail=='' || password=='' || gender=='') {
            $('#divMessage').html('Please complete form');
            return false;
        }else{
            $.post('join.php',dataString,function(data){
                $('#divMessage').html(data);
            });
        }

        return false;
    });
});

如果有人知道如何解决这个问题,对我来说会非常有帮助。

<form id="signup" name="signup" method="post" action="">

我希望以特定形式使用它而不是所有形式的页面

3 个答案:

答案 0 :(得分:2)

如果您使用的是ajax(jQuery post),则根本不需要任何表单,只需收集数据并将其发布到您的服务器即可。你不需要form.submit事件,只需创建一个按钮并调用你的发送函数:

<input type="button" onClick="sendContact();" value="send">

function sendContact() {

    var fname = $("#fname").val();
var lname = $("#lname").val();
var mail = $("#mail").val();
var remail = $("#remail").val();
var password = $("#password").val();
var gender = $("#gender").val();
var dataString = 'fname='+ fname + '&lname=' + lname + '&mail=' + mail + '&remail=' + remail + '&password=' + password + '&gender=' + gender;

if(fname=='' || lname=='' || mail=='' || remail=='' || password=='' || gender=='') {
$('#divMessage').html('Please complete form');
    return false;
}else{
    $.post('join.php',dataString,function(data){
        $('#divMessage').html(data);
    });
}
    return false;
}

可能括号未关闭或任何其他语法错误,这只是一个例子!

连接到dataString的值必须为url-encoded,请考虑用户输入“A&amp; B Company”作为名称?

答案 1 :(得分:0)

$("input[type=submit]").click(function(event) {
event.preventDefault();
...

答案 2 :(得分:0)

@ Axel的答案应该有效,如果您可以为该特定表单上的提交按钮指定不同的名称,也可以直接绑定事件,如

$("input[name=signup_submit]").click(function() {