0

我正在尝试使用来自 dynamicdrive.com 的 Show Hint 脚本在我的网站上显示表单错误。

目前错误显示为

  <span class="error">Error Message</span>

当其中一个输入出现错误时。

我想使用显示提示脚本来显示此错误,然后我将不得不通过替换来编辑每个有错误的页面

  <span class="error">Error Message</span>

    <span class="error erroranchor" onmouseover="showhint('Error Message Here', this, event, '200px')"></span>

手动。

但是我想在这里为自己节省一些精力,这就是为什么我决定改用 JQuery,我是查询新手,这将是我的第一个编码学习,从逻辑角度来看,我认为 JQuery 将是最好的。这是我到目前为止所做的,但没有任何效果。

<script type='text/javascript'>
//On document ready.. I'm not sure if it should be document ready or document load.
    $(document).ready(function() {
//First i add the class "erroranchor" to <span class="error">
    $(".error").addClass("erroranchor");
//Then i've tried to convert the onmouseover event to JQuery mouseover event.
    $(".erroranchor").mouseover(showhint(){
//Here i try to get the "Error Message" from <span class="error">Error Message</span> so it can be displayed in the hint box.
        var $errortext = $(this);
        $errortext.text(),
        this.event,
        '200px'
    });
    });
</script>

然后是我想要的完美工作的CSS..

.error {
    text-indent: -99999px;
}
.erroranchor {
    background: url(anchor.png);
}

如果可以对上面的 JavaScript 进行任何改进,我将不胜感激(请使其易于理解)。

4

2 回答 2

4

你的mouseover绑定是错误的。它应该是

$(".erroranchor").mouseover(function(){...});

请注意,它function不是showhint.

如果您想showhint()在代码的其他地方创建该函数作为它自己的函数,那么绑定将是

$(".erroranchor").mouseover(showhint);

编辑
如果您想为每个 提供不同的错误消息'.erroranchor',您可以使用 jQuery 的data()功能:

<span class="error erroranchor" data-errormessage="Error message here"></span>
<span class="error erroranchor" data-errormessage="Different error message here"></span>

然后你的事件处理程序和函数:

$(".erroranchor").mouseover(showhint);

function showhint() {
    var errMsg = $(this).data('errormessage');
    if(errMsg) {
        //do stuff
    }
}
于 2013-03-20T17:59:34.967 回答
0

尝试这个

$(".erroranchor").mouseover(function(){
         showhint();
});
于 2013-03-20T18:00:36.923 回答