2017-03-25 18 views
2

フォームの検証を実装しようとしているため、送信ボタンがクリックされたときにすべての必須フィールドが入力されます。ここ は私のコードです:私は、しかし、作業イマイチフォームフォームの検証が機能しない - javascript

<form method =POST id="weVoteForm" onsubmit="return checkInput()"> 

このコードをdecalare方法

function checkInput() 
{ 
    <!--check if these input values are provided --> 
    var inputFile = document.getElementByID('inputFile').value; 
    var numThreads = document.getElementById('numThreads').value; 
    var scoreThresh = document.getElementById('scoreThresh').value; 
    var scorePen = document.getElementById('scorePenalty').value; 

    if(inputFile==="" ||numThreads==="" ||scoreThresh==="" ||scorePen==="") 
    { 
     alert('Please fill in all required fields'); 

    } 

//。誰が何が間違っているか明確にすることはできますかありがとう!

+0

フォームフィールドで 'required'属性を使用してみませんか?最近のブラウザはすべてこれをサポートしています。 – Barmar

+0

なぜPOSTは引用符で追加されますか? –

+1

'var inputFile = document.getElementById( 'inputFile')。value;' typo..'ID'は小文字の大文字ではありません。 'd'の末尾に' return false'を使います。 'checkinput()'関数です。 – prasanth

答えて

0

フォームを送信する前にcheckInput関数を呼び出す必要があります。 これは、フォーム要素のonsubmitイベントをとして使用できます。

<form method="POST" id="weVoteForm" onsubmit="return checkInput();"> 
</form> 

あなたの機能はまた、あなたがこのコードを記述することなく、各要素に必要な属性を設定することができ、この

function checkInput() 
{ 

    //check if these input values are provided --> 
    // notice not <!-- in JS for comment and Id not ID 
    var inputFile = document.getElementById('inputFile').value; 
    var numThreads = document.getElementById('numThreads').value; 
    var scoreThresh = document.getElementById('scoreThresh').value; 
    var scorePen = document.getElementById('scorePenalty').value; 

    if(inputFile==="" ||numThreads==="" ||scoreThresh==="" ||scorePen==="") 
    { 
     alert('Please fill in all required fields'); 
     return false; 
    } 
    return true; 
} 

のようになります。

<input type="text" required /> 
+0

に入れているので間違っています。 _checkInput(); return false; _はいつも間違って返します –

+0

あなたは正しいですが、彼の関数は何も返さないので、関数を呼び出す必要があることを彼に保証していました。 –

関連する問題