Javascript 如何在表单提交后重置表单

Javascript 如何在表单提交后重置表单,javascript,html,forms,google-apps-script,Javascript,Html,Forms,Google Apps Script,以下代码在用户提交表单时运行。检查提交的表单数量(用户只能提交5次)后,表单将记录在服务器端的谷歌表单中 function validateForm(form){ if(count>=MAX){ var msg={ title:"Idea limit reached", body:"You can propose a maximum of "+MAX+" ideas for this theme",

以下代码在用户提交表单时运行。检查提交的表单数量(用户只能提交5次)后,表单将记录在服务器端的谷歌表单中

function validateForm(form){   
    if(count>=MAX){
        var msg={
            title:"Idea limit reached",
            body:"You can propose a maximum of "+MAX+" ideas for this theme",
            btn:"OK"
        }
        screenMessage(msg)
    }
    else{
        var msg={
            title:"Idea recorded",
            body:"You can still submit "+(5-count-1)+" ideas",
            btn:"OK"
        }
        google.script.run.withSuccessHandler(successMessage(msg), resetForm()).recordIdea(form)    
        count++
    }
    return false;  
  }
function resetForm(){
    $('#title').val("")
    $('#description').val("")
    $('input[name="tags"]').val("")
    $('.creation-tags').empty()
    $('.suggested-tags').empty();
}
我的问题是,当我检查数据库时,我键入的信息是空的!这意味着“resetForm”函数实际上是在表单提交之前调用的

是否有办法确保只有在成功提交用户键入的值后才调用resetForm函数


我试图将函数嵌套在successMessage函数中,但没有得到任何积极结果

这行代码正在立即调用resetForm(),而不是设置回调函数:

google.script.run.withSuccessHandler(successMessage(msg), resetForm()).recordIdea(form)
应该是这样的:

google.script.run.withSuccessHandler(function(){successMessage(msg), resetForm()}).recordIdea(form)

长话短说为了更好地解释这一点,您需要在“withSuccessHandler”中使用“回调函数”。相反,您的代码所做的基本上是注入“successMessage”和“resetForm”的返回值,因为Javascript一遇到它们就会运行它们。如果您需要更好地理解回调函数,可以找到关于回调函数的各种文章和帖子。