【问题标题】:onblur with javascript alert then clear input textonblur with javascript alert 然后清除输入文本
【发布时间】:2017-09-04 14:57:39
【问题描述】:

现在我尝试在输入文本中使用带有 javacript 的函数“onblur”。

警报消息检查正常。

但是当身份证错误时如何清除输入文本(警报“身份证错误”后使其为空值)

身份证正确时也保值。

谁能帮帮我。非常感谢。

这是我的代码

    function checkID(id)
    {
    if(id.length != 13) return false;
    for(i=0, sum=0; i < 12; i++)
    sum += parseFloat(id.charAt(i))*(13-i); if((11-sum%11)%10!=parseFloat(id.charAt(12)))
    return false; return true;}
    
    function checkForm()
    { if(!checkID(document.idform.idcard.value))
    alert('Wrong ID Card');
    document.idform.idcard.value = "";
    }
   <form name="idform">
    ID Card Check: <input type="text" name="idcard" maxlength="13" onblur="checkForm();" />
    </form>
    
    
 <br>
  <p>(Correct ID Card = 1100701342240 ) </p>

【问题讨论】:

  • document.idform.idcard.value='', 设置空值
  • 哦,非常感谢。但是当身份证正确时,值仍然是空的T.T,可能我必须把其他...;对吗?

标签: javascript forms input onblur


【解决方案1】:

终于可以解决了。感谢您的每一条评论:)

function checkID(id)
{
if(id.length != 13) return false;
for(i=0, sum=0; i < 12; i++)
sum += parseFloat(id.charAt(i))*(13-i); if((11-sum%11)%10!=parseFloat(id.charAt(12)))
return false; return true;}

function checkForm()
{ if(checkID(document.idform.idcard.value))
return true;
else alert('Wrong ID Card');
document.idform.idcard.value = "";
}
<form name="idform">
ID Card Check: <input type="text" name="idcard" maxlength="13" onchange="checkForm();" required/>
</form>

<br>

<p>Test with one in a million of Correct ID : 1100701342240 </p> <p>If put another random ID it will alert "Wrong ID" </p>

【讨论】:

    【解决方案2】:

    它有效。当您在警报消息上按 OK 按钮时,输入字段将被清除。你需要在checkForm函数中多写一行

    function checkForm(){
        if(!checkID(document.idform.idcard.value)){
    	    alert('Wrong ID Card');
    	    document.idform.idcard.value = "";
        }
    }

    【讨论】:

    • 但是当id检查是正确的时候,值也是空的
    • 我现在更正了。如果条件太,我把线放在里面
    • 对不起,你能解释一下吗,我是 javascript 的新手
    • 你能告诉我更多关于你的验证要求吗?那我就可以妥善解决你的问题了。我没有正确理解您的 checkID 功能的机制。
    • emm.. 现在我可以在它提醒“错误的身份证”时将其设为空值。但身份证正确时无法保留价值:(stackoverflow.com/a/43309641/7642383
    猜你喜欢
    • 1970-01-01
    • 2020-09-13
    • 2013-10-16
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多