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 回答