0

(送信ボタンではなく) リンクを使用してフォームを送信する場合、どのようにフォームを検証しますか?

これは私がフォームを送信するために使用するものです:

<a href='javascript:document.forms["send"].submit()'>Send</a>

しかし、フォーム内のテキスト領域をチェックして、空でない場合にのみ送信するにはどうすればよいでしょうか?

4

2 に答える 2

3

フォームが送信ボタンまたは JavaScript で送信されたかどうかにかかわらず、onSubmit イベントは引き続き発生します。したがって、フォームの送信イベントを監視するだけで十分です。

最初に、簡単にアクセスできるようにフォームに ID を付与します。私の例では「myForm」を使用します。

document.getElementById('myForm').onSubmit = function() {
    // validate textarea
    // return false on bad data
    // return true if ok
}
于 2012-06-04T02:13:12.493 に答える
0

通常、検証関数はフォームの onsubmit リスナーにアタッチされ、falseフォームが送信されるべきでない場合に返されます。

<form ... onsubmit="return validate(this);" ...>

検証機能は次のようなものです。

function validate(form) {
  var valid = true;
  var elements = form.elements;

  for (var i=0, iLen=elements.length; i<iLen; i++) {
    // validate elements[i]
    // if any invalid, set valid to false
  }
  return validl;    
}
于 2012-06-04T02:28:41.757 に答える