HTML表单中不可用

时间:2017-02-15 16:19:32

标签: javascript html

我知道,堆栈上有很多关于必需的问题。我尝试了很多没有结果的选项。

<script>
  // Javascript function called by "submit" button handler,
  // to show results.
  function updateOutput(resultHtml) {
    toggle_visibility('inProgress');
    var outputDiv = document.getElementById('output');
    outputDiv.innerHTML = resultHtml;
  }

  // From blog.movalog.com/a/javascript-toggle-visibility/
  function toggle_visibility(id) {
    var e = document.getElementById(id);
    if(e.style.display == 'block')
      e.style.display = 'none';
    else
      e.style.display = 'block';
  }


</script>

<div id="formDiv" >
<!-- Form div will be hidden after form submission -->
<form id="myForm" > 

   name : <input name="name" type="text" required /> <br/>
   Eadres: <input name="email" type="text" required /><br/>

  <input type="submit" value="Submit"   
      onclick="toggle_visibility('formDiv'); toggle_visibility('inProgress');
        google.script.run
          .withSuccessHandler(updateOutput)
          .processForm(this.parentNode)"  />
</form>
</div>

<div id="inProgress" style="display: none;">
<!-- Progress starts hidden, but will be shown after form submission. -->
Balabla
</div>


<div id="output">
  <!-- Blank div will be filled with "Thanks.html" after form submission. -->
</div>

当我像这样使用submitform()

  <input type="submit" value="Submit" 
      onclick="toggle_visibility('formDiv');  toggle_visibility('inProgress');submitform();
        google.script.run
          .withSuccessHandler(updateOutput)
          .processForm(this.parentNode)"  />

这部分运行不正常

方式不可行吗?是否有解决方案。

谢谢

1 个答案:

答案 0 :(得分:4)

请勿在{{1​​}}按钮上使用onclick处理程序。在submit标记上使用onsubmit处理程序。

如果我使用enter提交表单,form处理程序无法解雇。

如果表单未根据其输入验证属性(例如onclick)进行验证,则浏览器不会触发onsubmit,并且表单不是&#39;标记为required