0

JavaScript を学ぼうとして、かなりの進歩を遂げていると思いますが、フォームの検証に行き詰まり、誰かが同じ問題を抱えているかどうかを確認しようとしましたが、検索しても何も見つかりませんでした。それで、私を助けてくれませんか?

    var minlength = 6;
var pwlength = document.getElementById('psswrd');
var invalid = " ";

function validate() {

    if (pwlength.length < minlength && pwlength == invalid) {
        alert("Password not valid");

    else { 
        alert("Password okay!");
    }
}

submitbtn.onClick = validate();
4

3 に答える 3

1
  • これをどこで呼び出すかは明らかではありません-window.onloadでラップしました
  • ボタンに正しくアクセスしていません。ボタンの名前付けまたは ID に応じて、 またはのいずれか document.forms[0].submitbtn document.getElementById("submitbtn")document.getElementsByName("submitbtn")[0]機能します ただし、送信ボタンに onclick ハンドラーを割り当てず、送信ハンドラーをフォームに割り当てます
  • とにかく6文字未満であるため、単一のスペースをテストする意味はありません。
  • && は AND です。つまり || です。また
  • onclick はすべて小文字でなければなりません。
  • 検証の代わりに検証の結果に onclick を割り当てます
  • あなたは投稿を止めません

ここからトリムを取り 、フォームに ID="form1" があると仮定します

window.onload=function()
  document.getElementById("form1").onsubmit = validate;
}

if(typeof String.prototype.trim !== 'function') { // let's help older IEs
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}

function validate() {
  var minlength = 6;
  var pw = document.getElementById('psswrd');
  if (pw.value.length < minlength || pw.value.trim() == "") {
    alert("Password not valid");
    pw.focus();
    return false;
  }
  return true; // allow submission  
}
于 2012-08-11T06:55:02.200 に答える
0
var minlength = 6;

var pwlength = document.getElementById('psswrd');

var invalid = " ";

function validate() {

    if (pwlength.length < minlength && pwlength == invalid) {
        alert("Password not valid");
}

    else { 
        alert("Password okay!");
    }
}
于 2012-08-11T06:45:35.340 に答える
0

ここでいくつかの問題があります。

1)pwlength.lengthあまり遠くへは行きません。pwlengthhtml オブジェクトの値ではなく、html オブジェクトと同じです。実際の変数を次のように変更すると、正しい結果が得られるはずです。

var pwlength = document.getElementById('psswrd').value;

2) ステートメントの前に、中かっこ ( ) で閉じてステートメントを終了する必要がありelseます。その部分を次のように変更します。if ... elseif}

} else {

== invalid3) 長さが奇数かどうかを確認するための検証。それを再確認して、それを取り除きます。

4) onclick イベントは次のようにする必要があります。

submitbtn.onclick = function(){ validate() };

注意: 小文字のイベント キーワードで、function() { ... };実行する関数を囲みます。

于 2012-08-11T06:51:38.547 に答える