我如何在提示符上创建验证

时间:2018-05-07 18:28:18

标签: jquery html css

我试图创建验证,如果用户留空提示它会给出错误,但是当我点击继续填充它没有显示它。

这是我的jquery代码。

$("#b1").click(function(){
            var pr=prompt("enter new link address");
            $("a").attr("href",pr);

            if($("pr").val() == '')
                {
                    var con1=confirm('Input can not be left blank');
                    if(con1==true)
                    {
                        var pr=prompt("enter new link address");
                        $("a").attr("href",pr);

                    }
                    else{
                        var conn=confirm('Input can not be blank'); 
                    }

                }

            });

这是我的HTML。

<a href="https://www.google.com">google</a>
<button id="b1">attribute(a)</button>

是否有人知道如何以正确的方式完成我的任务。谢谢您的时间。

1 个答案:

答案 0 :(得分:1)

问题是因为pr变量包含一个字符串。您尝试使用jQuery选择器来检索该变量并读取它的值。您根本不需要这样做,您可以直接读取该值。

另请注意,我建议您在用户输入上使用trim()来检查用户是否只是几次点击空间。您也可以使用con1值而不进行布尔等式检查。

最后,请注意,您可以重新组织逻辑以使流程循环(即,如果用户输入为空,并且他们单击“确定”消息,您可以再次启动该过程)。您可以通过将prompt()逻辑放在其自己的函数中来执行此操作,该函数在需要时再次调用。试试这个:

&#13;
&#13;
$("#b1").click(requestLink);

function requestLink() {
  var pr = prompt("enter new link address") || '';
  $("a").attr("href", pr);

  if (pr.trim() === '') {
    var con1 = confirm('Input can not be left blank');
    con1 && requestLink();
  }
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="https://www.google.com">google</a>
<button id="b1">attribute(a)</button>
&#13;
&#13;
&#13;

最后一件事;因为您希望用户键入一个URL并将其直接放入DOM中,我强烈建议您验证输入的内容实际上是一个URL。您可以按照this question上的说明进行操作。