0

わかりましたので、HTML のこの javascript 全体について本当に混乱しています。私がやろうとしているのは、「onblur」または外部ファイルでの送信時にフォームを検証することです。

最初のフィールドで機能する HTML コードは次のとおりです。

    <script>
    function notEmpty(rep, errMsg)
    {
    var errMsg = "Please enter something in Rep";
    var rep = document.getElementById('submitted_by_hrrep');
    if(rep.value == '')
    {
    alert(errMsg);
    hrrep.focus();
    return false;
    }
    return true;
    }
    </script>

これは、フィールドの近くのフォームの本体にあります。

<script type="text/javascript">document.getElementById("submitted_by_rep").onblur=notEmpty;</script>

そのため、DOES が機能し、元に戻るように指示するアラートが表示されます。フォームの残りの部分 (15 フィールド) に対してこれを行うことはできません。「onsubmit」は私を混乱させており、正しいと思いますが、よくわかりません。

<form onsubmit="return formValidation()" method="post" action="process.asp" >

何でも役に立ちます

編集

    function validate()
    {
    if(document.newempRequest.submitted_by_hrrep.value ==='')
    {
    alert("Please provide your name");
    document.newempRequest.submitted_by_hrrep.focus();
    return false;
    }

私は非常にイライラしたので、ゼロから始めて、一度にフィールドを取りました。これは、テキストが必要なフィールドで機能することがわかりました。ファイルでは乱雑に見えますが、外部から呼び出すと問題なく機能します。

jquery を使用できればいいのですが、実際に必要な設定はもっと複雑なようです。助けてくれてありがとう :)

4

1 に答える 1

1

すべての入力を取得してから、何らかのフレーバーのループ、おそらく for ループでそれらを反復処理する必要がありますか?

jquery を使用すると、フォーム バリデーター プラグインが既に存在し、セレクターが非常に使いやすいため、非常に簡単です。jqueryを使って、

$('#formId input') 

フォーム内のすべての入力を取得すると、.each() を使用してすべての入力を反復処理できます

ただし、明らかにすべてのフィールドで .focus() を実行できるわけではないため、1 つだけではなくリスト全体を処理する別の関数が必要です。

于 2013-08-28T23:13:31.930 に答える