2011-07-27 11 views
0

さて、基本的にJqueryサイトからjquery検証電話USプラグインのサンプルを使用しました。これは動作しているように見えます。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

関連する問題