javascript
  • forms
  • validation
  • checkbox
  • 2013-02-21 92 views 0 likes 
    0

    我有一些JavaScript即時通訊使用來驗證表單工作正常,但我現在需要添加一個複選框,需要在表單提交之前檢查。複選框的名稱是html中的術語,並且我設法讓它不使用下面的代碼提交表單。驗證複選框用javascript打勾

    $(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._-][email protected][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; 
    }); 
    

    問題是它現在不提交,無論是否檢查盒子。

    我已經搜索了一些信息,以幫助我一段時間,但沒有運氣,所以想我會問在這裏看看是否有人可以幫助我。

    回答

    0

    有效變量後面似乎還有一個額外的感嘆號。我建議也使用JavaScript調試器。

    if (valid!='') { 
    
    0

    您錯過了.ready函數的大括號。

    +0

    對不起是});在這裏發佈時,我沒有複製它。表單驗證適用於輸入文本,但不適用於複選框。 – user2097083 2013-02-22 12:58:22

    0

    看起來您並沒有關閉$(document).ready()函數。您關閉sendmail點擊功能,但不是主要功能。我認爲你的代碼的尾部應該是這樣的: } return false; }); //關閉sendmail函數 }); //關閉document.ready

    如果這是因爲將它複製到SO而發生的,那麼忽略這一點,但如果這是在您的代碼中,您的瀏覽器可能不會做任何事情,並且不會對JavaScript做出反應。

    +0

    對不起是});在這裏發佈時,我沒有複製它。表單驗證適用於輸入文本,但不適用於複選框。 – user2097083 2013-02-22 12:57:21

    相關問題