2016-07-14 10 views
-1

これを投稿して自分自身を誇りに思っているわけではありませんが、私は本当に立ち往生しています。 JavaScriptで単純に検証し、それをコントローラに渡すだけのフォームがあります。私はMissing }のエラーが出ることが分かり、私は理由を知りません。ここで

はHTMLです:JavaScript SyntaxError:missing}関数本体の後に

<form id='contact_form' method='POST' name='contactform'> 
<p>First Name: <input name='first_name' type='text' /></p><br/> 
<p>Last Name: <input name='last_name' type='text' /></p><br/> 
<p>Company: <input name='company' type='text' /></p><br/> 
<p>Email Address: <input name='email' type='text' /></p><br/> 
<p>Phone: <input name='phone' type='text' /></p><br/> 
<p>Address: <input name='address' type='text' /></p><br/> 
<p>Message:<textarea name='message'></textarea></p><br/> 
<a id='submit'>Submit here</a> 
</form> 


そして、ここでは、JavaScriptがあります:あなたが任意のアイデアを持っている場合

<script> 
    $('#products').on("click", "#submit", function() { 

     $('input').removeClass('error'); 
     $('textarea').removeClass('error'); 
     var isValid = true; 

     // verifica nume si prenume 
     var firstNameReg = new RegExp(/^[^\d]{3,}$/); 
     if (!firstNameReg.test($('input[name=first_name]').val())) { 
      $('input[name=first_name]').addClass('error'); 
      isValid = false; 
     } 

     var lastNameReg = new RegExp(/^[^\d]{3,}$/); 
     if (!lastNameReg.test($('input[name=last_name]').val())) { 
      $('input[name=last_name]').addClass('error'); 
      isValid = false; 
     } 

     // verifica telefon 
     var telReg = new RegExp(/^[\d]{10}$/); 
     if (!telReg.test($('input[name=phone]').val())) { 
      $('input[name=phone]').addClass('error'); 
      isValid = false; 
     } 

     // verifica email 
     var emailReg = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); 
     if (!emailReg.test($('input[name=email]').val())) { 
      $('input[name=email]').addClass('error'); 
      isValid = false; 
     } 

     if (isValid) { 
      alert("Formularul este completat corect!"); 
     } 
    }); 
</script> 


だから... ...私にヒントを投げてください!ありがとうございました!

+1

どのラインでこのエラーが発生しますか?あなたのコードは有効です。 – Jurik

+0

ブラウザではこれだけです:SyntaxError:missing} function body:99:164の後にありますが、それは決して –

+0

のようなコードではありませんか?あなたが共有したものに間違いはないようです。 – Guillaume

答えて

0

これは単なるおよび検証

の改善私は中括弧を使用して問題の原因を確かに言うことはできない、とあれば、それはおそらくあなたよりも別のファイルに配置され、答えではありません次のコードはうまくいかないので、完全なプロジェクトをどこかにアップロードしてください。私はそれをさらに調査することができます。 あなたの検証コードを書き換えて少し詰めました(あなたが誇りに思っていなかったので)

$('#contact_form').on('click', '#submit', function() { 
    var validations = { 
     first_name: new RegExp(/^[^\d]{3,}$/), 
     last_name: new RegExp(/^[^\d]{3,}$/), 
     phone: new RegExp(/^[\d]{10}$/), 
     email: new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i) 
    } 

    $('input, textarea').removeClass('error'); 

    for (var key in validations) 
     if (!validations[key].test(contactform[key].value)) 
      $(contactform[key]).addClass('error'); 

    if (!$('#contact_form .error').length) 
     alert("Formularul este completat corect!"); 
}); 
+0

'first_name:new RegExp(/^[^ \ d] {3、} $ /)' = 'first_name:/^[^ \ d] {3、} $ /'と '[^ \ d]' = '\ D' –

関連する問題