2017-10-04 9 views
0

で働いていないこんにちは、必要なフィールドはJavascript

私は形で私の入力フィールドに「必要」を実装しようとしていますし、提出onclick-、それはサードパーティの関数を呼び出し、フォームを渡す機能へ進みますそれに。

「必須」は「onclick」では機能しませんが、それを回避する方法はありますか?


編集:私はクライアントがフォームデータを渡すように呼び出す理由は何もPHPまたはバックエンドがありません。

コード:ここで

<form id="signupform"> 
     <label for="name"> Name </label> 
     <input type= "text" id="name" name="name" required>   
     <label for="emailaddr"> Email </label> 
     <input type= "email" id="emailaddr" name="emailaddr" required> 
     <button type="submit" onclick="callclient()">Submit</button> 
</form> 
+1

フォームを使用してonsubmitを送信してください。 – Keith

+0

私はあなたが提案したようにonsubmitを使いました。ただし、関数を呼び出すことはありません。上記のコードでonclickをonclickに置き換えた場合、関数をどのように呼び出すのか解明できますか? この方法が間違っている場合は、私を案内してもらえますか? –

答えて

0

また、jQueryを使ってイベントを提出し、そのように、あなたの関数を実行キャプチャすることができます。

Here is a jsFiddle

$(document).ready(function(){ 

    $('#signupform').on('submit', function(e){ 

     // Stop the form submission 
     e.preventDefault(); 

     callClient(); 

    }) 
}) 

function callClient(){ 
    alert('client called.'); 
} 
0

はをonSubmitを使用して、スニペットです。

デフォルトのサブミットが呼び出されないようにfalseが返されます。これは、あなたのバージョンでは機能していないと思われる理由です。

function callclient() { 
 
    console.log('Client Called'); 
 
    return false; 
 
}
<form id="signupform" onsubmit="return callclient();"> 
 
     <label for="name"> Name </label> 
 
     <input type= "text" id="name" name="name" required>   
 
     <label for="emailaddr"> Email </label> 
 
     <input type= "email" id="emailaddr" name="emailaddr" required> 
 
     <button type="submit">Submit</button> 
 
</form>

+0

ご援助いただきありがとうございます。 しかし、新しい問題に直面しています。この後に「success.html」ページがあり、ロードされていないので、その周りにも方法がありますか? コード: function callClient(){ /* call Client */ window.location.href = "success.html"; } –

+0

これでうまくいくはずですが、コンソールに何かエラーがありますか? – Keith

+0

はエラーにならず、必要なページを呼び出さなかっただけです。 上記のjqueryメソッドを使用して、完全に機能しました –

関連する問題