繁体   English   中英

Javascript jQuery-方法onchange()不起作用

[英]Javascript jQuery - the method onchange() does not work

我的问题是..我尝试制作一种形式,检查电子邮件是否具有正则表达式..当有电子邮件时,什么都没有发生..但是当电子邮件没有..时,必须使用方法on将该字段设置为空change()..我尝试并且必须使用javascript和jQuery编写代码。但是我的代码没有任何反应..我希望您能为我解决这个问题。.这里是我的代码:

        <div id="formular">
        <p>Hier wird überprüft, ob die angegebene E-Mail Adresse korrekt ist.</p>
        <form>
            E-Mail: <input id="mail" type="text" name="mail" onchange="check();"/>
        </form>

        <script>
            function check(){
            var feld= $("#mail");
            if(feld.value.search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){
                feld.val("");
            }
        }
        </script>

        <hr>
    </div>

您使用的是jQuery,因此获得答案的更好方法是通过以下方式使用脚本:

<script>
    function check(){
        var feld= $("#mail");
        if(feld.val().search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){
            feld.val("");
        }
    }
</script>

这是因为.value适用于Javascript,而不适用于jQuery

由于您使用的是jQuery,因此您可能想要执行类似的操作。 您希望此代码在文档准备好后运行。 如您所见,我用.change()调用替换了输入字段中的onChange

您还应该使用$(selector).val()代替$(selector).value

<div id="formular">
    <p>Hier wird überprüft, ob die angegebene E-Mail Adresse korrekt ist.</p>
    <form>
        E-Mail: <input id="mail" type="text" name="mail" />
    </form>

    <script>
        $(document).ready(function(){
            var feld = $("#mail");
            feld.change(check);

            function check(){
                console.log("Checking it");
                if(feld.val().search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){
                    feld.val("");
                }
            }

        });
    </script>

    <hr>
</div>

请注意 ,这仅在您失去对输入字段的关注时有效。 因此,我不确定这是否真的是您的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM