1

フォーム内のすべての入力ボックスを 1 つだけではなく選択できる JavaScript コマンド (探しているものの適切な名前は何ですか?) はありますか?

例えば:

 function checkform(id){
var theForm = document.getElementById( id );
if (theForm.surname.value == '') {
  alert( "you didn't type in your surname");
  theForm.surname.focus();
  return false;
}
else if (theForm.surname.value.length == 0) {
  alert( 'You\'ve left some of the fields blank' );
  theForm.surname.focus();
  return false;
}
return true;
}

私はこのコードを持っています。その目的は、フォームの各入力ボックスをチェックして、情報が入力されているかどうかを確認し、入力されていない場合は、ユーザーがフォームを送信したときにアラートを表示することです。

姓だけでなくすべての入力ボックスをチェックするために、この JavaScript を変更する方法はありますか (例を参照)。

4

2 に答える 2

0

メソッドgetElementsByTagNameはすべての入力を提供でき、elementsプロパティはフォーム内のすべてのコントロールの NodeList を保持します。

var nodeList = theForm.getElementsByTagName('input');

また

var nodeList = theForm.elements;
于 2013-02-24T19:42:48.863 に答える
0

document.getElementsByTagName()この方法が必要だと思います。次のように、これを現在の関数とリンクできます。

var inputs = document.getElementsByTagName('input'), // get all input tags in the document
    i = 0, // set counter to zero
    l = inputs.length; // get number of inputs you have found
for (i; i < l; i += 1) { // loop through the inputs you have found
    checkform(inputs[i].id); // send the id of each input to the `checkform` method
}

もちろん、必要な関数をより効率的に書き直す必要があるかもしれませんが、これを(checkform関数の外側の)コードに直接落とし込むこともでき、それはあなたが望むことをするはずです。

于 2013-02-24T19:43:08.133 に答える