0

配信用のページを作成しようとしています。タイトルに記載されている私の問題は、現在のページのdivにエラーメッセージを表示する方法(フォームの上部など)

以下は、私の HTML の一部です。

<div id="erroMsg"></div>
<form name="shipForm" action="#" method="post" onSubmit="return checkForm()">
    <table>
        <tr>
            <td align="left" bgcolor="#FFFFFF">&nbsp;
                <select name="P_COUNTRY">
                    <option value="AU stralia">Australia</option>
                    <option value="New zealand">New zealand</option>
                    <option value="Europe">Europe</option>
                    <option value="US">US</option>
                    <option value="Canada">Canada</option>
                    <option value="other">other</option>
                </select>
            </td>
            <td align="right">
                <input type='submit' id="ship" name="submit" value='Next' />
            </td>
        </tr>
    </table>
</form>

Javascript:

function isNull(ele) {
    var _form = document.shipForm;
    if (_form[ele].value == "") {
        _form[ele].focus();
        return true;
    }
    return false;
}

function checkForm() {
    var _form = document.shipForm;
    if (isNull("P_COUNTRY")) {
        $("#erroMsg").html("x Select Country").css("color", "red").css("fontSize", "10px").show();
        _form.password.focus();
        return false;
    }
}

これは私にとってはうまくいきますが、メッセージの内容が点滅してすぐに消えます。私が実際に欲しいのは、メッセージを に書き込むことですdiv。しかし、それ以来、ページを最新の状態にリダイレクトした後、ページが消えてしまいました。これを回避するにはどうすればよいですか? または、jQuery を使用する必要がありますか? そしてどうやって?

4

2 に答える 2

0

ここにエラーがあると思います:

_form.password.focus();

.passwordonがない場合は_form.focus()TypeError をスローし、発生を防ぎreturn false;ます。

その行を削除すると、おそらく機能します。

于 2013-05-07T14:20:22.730 に答える
0

これは私にとってはうまくいきます:

 <div id ="erroMsg"></div>
         <form name="shipForm" action ="#" method="post" onSubmit="return checkForm()">
         <table>
        <tr><td align="left" bgcolor="#FFFFFF">&nbsp;
               <select name="P_COUNTRY">
        <option value="">None</option>
        <option value="AU stralia">Australia</option>
        <option value="New zealand">New zealand</option>
        <option value="Europe">Europe</option>
        <option value="US">US</option>
        <option value="Canada">Canada</option>
        <option value="other">other</option>
        </select></td>
        <td align ="right"><input type='submit' id ="ship" name= "submit" value='Next'/></td>
        </tr></table>
        </form>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
        <script>

            function isNull(ele) {  
                var _form = document.shipForm;  
                if (_form[ele].value == "") {  
                    _form[ele].focus();  
                    return true;  
                }  
                return false;  
            }  
            function checkForm(){  
                var _form = document.shipForm;
                if (isNull("P_COUNTRY")) {  
                    $("#erroMsg").html("x Select Country").css("color","red").css("fontSize","10px").show();  
                    return false;  
                } 
            }

    </script>
于 2013-05-07T14:25:07.280 に答える