2011-07-27 55 views
0

好吧,所以我基本上只是使用jQuery驗證手機美國插件從Jquery網站的例子 - 它看起來工作(有一些職位,它不是)。jQuery驗證 - 電話美國提交成功?

我的問題是,如何在成功後「實際」提交表格?我顯然對jQuery和Javascript一般來說都是新手。使用沒有插件的正常jQuery驗證,它看起來相當簡單 - 但我不確定如何去做。下面是代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.delegate.js"></script> 
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script> 
<script type="text/javascript"> 
jQuery.validator.setDefaults({ 
    debug: true, 
    success: "valid" 
});; 
</script> 

    <script> 
    $(document).ready(function(){ 
    jQuery.validator.addMethod("phoneUS", function(phone_number, element) { 
    phone_number = phone_number.replace(/\s+/g, ""); 
    return this.optional(element) || phone_number.length > 9 && 
     phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); 
}, "Please specify a valid phone number"); 

$("#testinput").validate({ 
    rules: { 
    field: { 
     required: true, 
     phoneUS: true 
    } 
    } 
}); 

    }); 
    </script> 
    <style>#field { margin-left: .5em; float: left; } 
    #field, label { float: left; font-family: Arial, Helvetica, sans-serif; font-size: small; } 
    br { clear: both; } 
    input { border: 1px solid black; margin-bottom: .5em; } 
    input.error { border: 1px solid red; } 
    label.error { 
     background: url('http://dev.jquery.com/view/trunk/plugins/validate/demo/images/unchecked.gif') no-repeat; 
     padding-left: 16px; 
     margin-left: .3em; 
    } 
    label.valid { 
     background: url('http://dev.jquery.com/view/trunk/plugins/validate/demo/images/checked.gif') no-repeat; 
     display: block; 
     width: 16px; 
     height: 16px; 
    } 
</style> 
</head> 
<body> 

<form id="testinput" action="http://transworldmx.com"> 
    <label for="field">Required, us phone number: </label> 
    <input class="left" id="field" name="field" /> 
    <br/> 
    <input type="submit" value="Validate!" /> 
</form> 

</body> 
</html> 

回答

0

jQuery代碼只檢查電話號碼是一個電話號碼(通過正則表達式),並確保需要的領域。一旦應用了這些規則,只需點擊「驗證!」按鈕提交您的表單。您需要一些服務器端腳本(如PHP)來處理表單數據。

+0

我有後端配置..但由於某種原因,當我點擊「提交」它只顯示覆選標記圖像說它已驗證,它不會繼續我已經在窗體上設置的操作。想法? – Alpinestar22

+0

你應該在後臺向我們展示代碼。 –

0

如果驗證通過,表單應該自動提交。如果沒有,則驗證失敗,或者存在一些JavaScript錯誤...使用FireBug或IE開發工具(F12)進行故障排除!

+0

再一次,因爲我不太瞭解jQuery或JavaScript(只有基礎知識,以及如何「複製」示例) - 我仍然沒有獲得成功提交表單的預期結果。我沒有通過螢火蟲獲得任何錯誤。 我目前沒有方法爲表單設置,只是一個任意的頁面集作爲行動,我會想象,如果驗證完成,我仍然會得到'頁面未找到'或什麼的,但沒有,它只是停留在顯示具有正確格式的複選標記的同一頁面。 – Alpinestar22

+1

我將你的代碼複製到我的項目中,並且我收到CDN上的這些庫不存在的錯誤。不知道爲什麼你不會在螢火蟲中遇到錯誤,但是將名字剪切並粘貼到你的瀏覽器中 - 你將得到404。一旦我指向本地圖書館 - 一切正常,因爲它應該是 – Felix

+0

我明白你的意思了,我得到了404 - 我在哪裏獲得當地圖書館的代碼?我甚至無法在任何地方找到該插件的下載鏈接? – Alpinestar22