[英]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.