Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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 如何防止程序跳过html2pdf函数?_Javascript_Html_Asynchronous_Html2pdf - Fatal编程技术网

Javascript 如何防止程序跳过html2pdf函数?

Javascript 如何防止程序跳过html2pdf函数?,javascript,html,asynchronous,html2pdf,Javascript,Html,Asynchronous,Html2pdf,如何确保程序在返回true之前完全执行GenPDF?我曾尝试在GenPDF()函数的末尾返回一个变量到checkformisingfields(),但程序仍然跳过了GenPDF函数的中间部分,并立即将该变量返回到checkformisingfields()函数 我还尝试在调用GenPDF函数后使用延迟,但它只是延迟页面的重定向 这是我使用的图书馆: HTML格式: <form id="form" class="ui form" a

如何确保程序在返回true之前完全执行GenPDF?我曾尝试在GenPDF()函数的末尾返回一个变量到checkformisingfields(),但程序仍然跳过了GenPDF函数的中间部分,并立即将该变量返回到checkformisingfields()函数

我还尝试在调用GenPDF函数后使用延迟,但它只是延迟页面的重定向

这是我使用的图书馆:

HTML格式:

<form
  id="form"
    class="ui form"
    action="/PageTwo"
    method="POST"
    onsubmit="return checkForMissingFields()"
  >
 <tr>
      <td>Name of checklist:</td>
      <td>
        <input
          type="text"
          name="checklist[AuditFormName]"
          placeholder="Name"
          id="AuditFormName"
        />
      </td>
    </tr>
    <tr>
      <td>Select Instituion:</td>
      <td>
        <select
          name="checklist[SelectedInstituion]"
          class="questionsInstitution"
          id="SelectedInstituion"
          onchange="updateRetailTenants()"
        >
          <option value="default"></option>
        </select>
      </td>
    </tr>
    <tr>
      <td>Select Retail Tenant:</td>
      <td>
        <select
          name="checklist[SelectedRetailTenant]"
          class="questionsRetailTenant"
          id="SelectedTenant"
          style="width: 200px"
        >
          <option value="default"></option>
        </select>
      </td>
    </tr>
    <tr>
     <td>Send a copy of this checklist?</td>
      <input type="checkbox" Id="SendCopy" value="off" 
    </tr>
    <table>
      <input
        type="hidden"
        name="checklist[sessionEmail]"
        value="<%=sessionLogin %>"
      />
     
......
</form>

检查表名称:
选择机构:
选择零售租户:
寄一份这份清单?
......
Javascript:

<script src='https://raw.githack.com/eKoopmans/html2pdf/master/dist/html2pdf.bundle.js'></script>
 <script scr='script.js'></script>
<script>
   // var form = getElementById('form')
function GenPDF(){
      var name= document.getElementById('Name')
      var element = document.getElementById ('form');
      var opt = {
          margin:       1,
          filename:     name+'.pdf',
          image:        { type: 'png', quality: 0.98 },
          html2canvas:  { scale: 2 },
          jsPDF:        { unit: 'in', format: 'letter', orientation: 'landscape' }
      };


    html2pdf().set(opt).from(element).save();

}

function checkForMissingFields() {
      if (document.getElementById("Name").value.length == 0) {
        alert("Name field cannot be blank");
        return false;
      } 
      else{
        GenPDF();
        return true;
      }
}
      
</script>

//var form=getElementById('form')
函数GenPDF(){
var name=document.getElementById('name')
var元素=document.getElementById('form');
变量opt={
差额:1,
文件名:name+'.pdf',
图像:{type:'png',质量:0.98},
html2canvas:{比例:2},
jsPDF:{单位:'in',格式:'letter',方向:'scape'}
};
html2pdf().set(opt).from(element.save();
}
函数checkForMissingFields(){
if(document.getElementById(“Name”).value.length==0){
警报(“名称字段不能为空”);
返回false;
} 
否则{
GenPDF();
返回true;
}
}

您需要
event.preventDefault()工作

//var form=getElementById('form'))
函数GenPDF(){
var name=document.getElementById('name')。值;
var元素=document.getElementById('form');
变量opt={
差额:1,
文件名:name+'.pdf',
图片:{
键入:“png”,
质量:0.98
},
html2canvas:{
比例:2
},
jsPDF:{
单位:英寸,
格式:'字母',
定位:“景观”
}
};
html2pdf().set(opt).from(element.save();
}
函数CheckFormAssignFields(事件){
//event.preventDefault();//
save()
返回承诺。读取。