Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在单击提交按钮之前,如何检查是否生成了图像?_Javascript_Jquery_Asp.net Mvc_Unobtrusive Validation_Jsignature - Fatal编程技术网

Javascript 在单击提交按钮之前,如何检查是否生成了图像?

Javascript 在单击提交按钮之前,如何检查是否生成了图像?,javascript,jquery,asp.net-mvc,unobtrusive-validation,jsignature,Javascript,Jquery,Asp.net Mvc,Unobtrusive Validation,Jsignature,我正在创建一个ASP.NET MVC5应用程序,利用它捕获用户的签名。如果您不熟悉该插件,则如下所示: 当用户单击“保存”时,他们的签名图像将生成并保存在签名板正下方的中: 我想做一些前端验证,以确保用户在提交整个表单之前已单击“保存”,从而生成签名图像。如果可能的话,我希望使用jQuery来实现这一点。我有一个我认为这段代码应该是什么样子的伪代码模型,但我很难将其转化为实际使用: $("#entireFormSubmitButton").click(function(){ if($(

我正在创建一个ASP.NET MVC5应用程序,利用它捕获用户的签名。如果您不熟悉该插件,则如下所示:

当用户单击“保存”时,他们的签名图像将生成并保存在签名板正下方的
中:

我想做一些前端验证,以确保用户在提交整个表单之前已单击“保存”,从而生成签名图像。如果可能的话,我希望使用jQuery来实现这一点。我有一个我认为这段代码应该是什么样子的伪代码模型,但我很难将其转化为实际使用:

$("#entireFormSubmitButton").click(function(){
   if($("#imageOfSignature").doesNotExistOnPage){
      alert("Your signature is required before submitting this form");
      // also block the user from submitting form until signature provided
   }
});

由于ASP.NET已经为我完成了确保填写完所有其他必填字段的大部分工作,因此我在编写此自定义前端验证时遇到了问题。我能得到一些帮助将其转换为工作代码吗?

这几乎完美地工作了!我现在遇到的问题是,此代码是表单的唯一前端验证。换句话说,在要求用户提供出生日期之前,现在用户可以绕过提供该信息,只要他们保存签名。有什么办法可以解决这个问题吗?您可以在后端执行更严格的验证。但是,如果你想从前端做这件事,我已经在我编辑的文章中给你举了一个如何做的例子。
 $("#entireFormSubmitButton").click(function(e){
       //block the user from submitting and check for signature
       e.preventDefault();
       if( $("#imageOfSignature").length == 0 || 
           $("#imageOfSignature").attr("src") == "" || 
           $("#date-of-birth-input").val() == ""){
          alert("Your message");
       } else {
           //all good, an image exists
           $(this).closest('form').submit();
       }
    });