0

我有一些 javascript im 用来验证一个工作正常的表单,但我现在需要添加一个复选框,在表单提交之前需要检查它。复选框的名称是 html 中的术语,我设法让它不使用下面的代码提交表单。

$(document).ready(function(){
$("#sendmail").click(function(){
    var valid = '';
    var isr = ' is required.';
    var name = $("#name").val();
    var mail = $("#mail").val();
    var subject = $("#subject").val();
    var country = $("#country").val();



            if( !$("#terms").is(":checked") ){
        valid += '<br />Please accept the terms and conditions.';
    }
    if (name.length<1) {
        valid += '<br />Name'+isr;
    }
    if (!mail.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
        valid += '<br />A valid Email'+isr;
    }
    if (subject.length<1) {
        valid += '<br />Website Link'+isr;
    }
    if (country.length<1) {
        valid += '<br />Country'+isr;
    }
    if (valid!='') {
        $("#response").fadeIn("slow");
        $("#response").html("Error:"+valid);
                    setTimeout('$("#response").fadeOut("slow")',4000);
    }
    else {
        var datastr ='name=' + name + '&mail=' + mail + '&subject=' + subject + '&country=' + country;
        $("#response").css("display", "block");
        $("#response").html("<img src='http://infashionation.com/female/images/response.jpg'>");
        $("#response").fadeIn("slow");
        setTimeout("send('"+datastr+"')",2000);
    }
    return false;
});

问题是无论是否选中框,它现在都不会提交。

我已经搜索了一些信息来帮助我解决这个问题,但没有运气,所以我想我会在这里问是否有人可以帮助我。

4

3 回答 3

0

您似乎没有关闭 $(document).ready() 函数。您关闭了 sendmail 单击功能,但没有关闭主要功能。我认为你的代码的尾部应该是这样的: } return false; }); // 关闭发送邮件功能 }); // 关闭 document.ready

如果发生这种情况是因为将其复制到 SO,请忽略这一点,但如果这是在您的代码中,您的浏览器可能不会做任何事情并且似乎对 JavaScript 没有反应。

于 2013-02-21T21:05:59.293 回答
0

您的 .ready 函数缺少右花括号。

于 2013-02-21T21:03:43.057 回答
0

在有效变量之后似乎有一个额外的感叹号。我建议还使用 javascript 调试器。

if (valid!='') {
于 2013-02-21T20:51:43.880 回答