2017-07-09 16 views
0

jQueryで検証しているフォームがあります。検証後jQueryを投稿に投稿する方法

<form id="target" class="center-block" action="/" method="POST"> 
    <textarea class="form-control" id="name" rows="3" name="name" placeholder="Enter a burger you would like to devour!"></textarea> 
    <button type="button" id="submit" class="center-block btn btn-default top">Submit</button> 
</form> 

また、私はjQueryを介して、フォームを送信しようとしています。

検証がしかし、働いている
if (validateForm() == true) { 
    $("#target").submit(); 
} 

フォームはポストルートに提出されたように、それはいないようです。私はajaxを使って投稿するフォームを手に入れることができましたが、投稿は仕上げ後にリダイレクトされません。この方法が望ましい効果をもたらすことを望んでいた。

アプリはExpressで動作しており、MySQLを使用しています。

+0

via Ajax? –

+0

あなたが探している "望ましい効果"とは何ですか?同じページに投稿している場合は、/ out of actionを取ってください。 – Difster

+0

検証が機能し、ページがリダイレクトされた場合は動作します。誰にもできることは他にありません。 – adeneo

答えて

0

要素id or name submitform.submitメソッドを置き換えるため、jquery submitが機能しないと思われます。id(名前も変更しないでください)を変更するだけです。

<button type="button" id="changeThisId" class="center-block btn btn-default top">Submit</button> 
+0

そして今、私は愚かなことを感じています。 [https://api.jquery.com/submit/](https://api.jquery.com/submit/) – Adam

0

使用Ajax、あなたは、現在のページにリダイレクトしたい場合は、成功した場合に現在のページをリロードし

$.ajax({  
    url: yourUrl, 
    type: "post", 
    data: $("#target").serialize(), 
    success: function(r){ 
     //form posted successfully 
     window.location.reload(); 
    }, 
    error: function(error){ 
     alert(error); 
    } 
}); 
0

私はそこにタイプミスがあるかもしれませんが、考え方は次のとおりです。

$('#target').submit(function(event){ 
    event.preventDefault(); 
}).validate({ 
    rules: { ... }, 
    submitHandler: function(form){ 
     $.ajax{ 
      type: 'POST', 
      data: $(form).serialize(), 
      url: '/', 
      success: function(result){ 
       console.log(result); 
      } 
      error: function(err){ 
       console.log(err.message); 
      } 
     } 
    }); 
});