我只想在验证HTML5表单输入后运行javascript函数

我只想在验证HTML5表单输入后运行javascript函数,javascript,html,onclick,onsubmit,Javascript,Html,Onclick,Onsubmit,我看到有人问过这个问题,但我看不到任何可以用来解决问题的答案 我试图在提交并验证HTML5表单后运行javascript函数。我试过使用onSubmit。在这种情况下,验证发生在表单的输入上,但submit什么也不做,javascript函数永远不会运行。也就是说,我单击submit按钮,我的输入窗口消失,但是我应该在submit上看到的消息没有出现,从onSubmit调用的脚本也没有运行。该代码如下所示: 我尝试过使用onClick而不是onSubmit。在这种情况下,HTML5验证不会发生

我看到有人问过这个问题,但我看不到任何可以用来解决问题的答案

我试图在提交并验证HTML5表单后运行javascript函数。我试过使用onSubmit。在这种情况下,验证发生在表单的输入上,但submit什么也不做,javascript函数永远不会运行。也就是说,我单击submit按钮,我的输入窗口消失,但是我应该在submit上看到的消息没有出现,从onSubmit调用的脚本也没有运行。该代码如下所示:

我尝试过使用onClick而不是onSubmit。在这种情况下,HTML5验证不会发生,如果我在表单输入中的任意点点击Enter或单击submit按钮,表单将被提交。除了使用onClick而不是onSubmit之外,这与上面的代码相同

无论脚本是什么,我都会尝试在提交后运行。使用onClick会导致脚本运行,但输入未经验证,在这种情况下,脚本按预期运行。以下是我用作表单输入的HTML:

<form id="myForm">
    <fieldset>
      <table>
        <tr>
          <td><label for="rfiTitle" style="font-weight: bold">RFI Title</label><label style="color:red; font:bold">**</label></td>
          <td><input type="text" maxlength = "200" name="rfiTitle" id="rfiTitle" form="myForm" size="40" placeholder="short summary, max length 200 characters" required></td>
        </tr>
        <tr>
          <td><label for="submitter" style="font-weight: bold">Submitter's Name</label><label style="color:red; font:bold">**</label></td>
          <td><input type="text" maxlength = "100" name="submitter" id="submitter" form="myForm" size="40" placeholder="full name, max length 100 characters" required></td>
        </tr>
        <tr>
          <td><label for="submitterEmail" style="font-weight: bold">Submitter's Email</label><label style="color:red; font:bold">**</label></td>
          <td><input type="email" name="submitterEmail" id="submitterEmail" form="myForm" size="40" placeholder="full email" required></td>
        </tr>
      </table>
     </fieldset>
<input type="submit" value="Submit" onsubmit="this.value='The form is uploading..';
         google.script.run.withSuccessHandler(fileUploaded).formHandler(this.parentNode); return false;">
</form>

但是,我不知道如何在HTML输入中使用它。任何帮助都将不胜感激。谢谢。

只需添加脚本标记,然后添加您的函数

<script type="text/javascript">

 document.getElementById('myform').onsubmit = function(e) {
   Logger.log("into onsubmit fct:"+e);
    generateGUTS();
    e.preventDefault();
}
function generateGUTS(){
    google.script.run.withSuccessHandler(fileUploaded).formHandler(this.parentNode);
                    return false;
    alert('Generating GUTS ticket');
}

</script>

document.getElementById('myform')。onsubmit=function(e){
Logger.log(“进入提交fct:+e”);
generateGUTS();
e、 预防默认值();
}
函数generateGUTS(){
google.script.run.withSuccessHandler(fileupload.formHandler)(this.parentNode);
返回false;
警报(“生成GUTS票据”);
}

我确实将脚本内容附在了文档中。但是,它似乎没有执行脚本。当我点击Submit按钮时,我的当前窗口中的表单消失了,似乎我在等待什么。如果我离开onsubmit调用,或者从submit行删除它,我会看到相同的结果;一扇新的空窗户。
<script type="text/javascript">

 document.getElementById('myform').onsubmit = function(e) {
   Logger.log("into onsubmit fct:"+e);
    generateGUTS();
    e.preventDefault();
}
function generateGUTS(){
    google.script.run.withSuccessHandler(fileUploaded).formHandler(this.parentNode);
                    return false;
    alert('Generating GUTS ticket');
}

</script>