如何使用.onsubmit事件运行函数?

时间:2016-04-29 06:13:59

标签: javascript html

这可能是一个非常简单的解决方案,但我不能为我的生活找到解决这个问题的方法,到目前为止我找不到任何解决方法。

我正在尝试在提交表单“apply”时运行“validate”函数:

function init() {
  var applyForm = document.getElementById("apply");
  setJobValue();
  applyForm.onsubmit = validate;
}

验证如下所示:

function validate() {
  alert("If this alert is up then validate is running");
  var dateOfBirth = document.getElementById("dob").value;
  var state = document.getElementById("state").value;
  var postcode = document.getElementById("postcode").value;

函数“setJobValue”正在运行(所以我知道init正在运行)并且控制台中没有错误,但是我必须做什么调整才能调用validate?

3 个答案:

答案 0 :(得分:0)

那么,当您将代码放在头部时,会发生HTML渲染时脚本运行。所以在那段时间里,它会分配不同的内存和功能块。因此,当您再次调用该函数时,由于现有引用,它会为您提供不同的结果并且没有错误。好吧它有点奇怪,但它的工作方式,总是建议把你的JS代码放在页面的底部。

答案 1 :(得分:0)

您可以直接从init方法调用validate方法。

function init() {
  var applyForm = document.getElementById("apply");
  setJobValue();
  validate();
}

答案 2 :(得分:0)

当我们为一个事件分配一个函数时,它会终于触发。 所以在你的情况下,这应该工作



    function init() {
            var applyForm = document.getElementById("apply");
            setJobValue();
            applyForm.onsubmit = functionToSave;
        }

并在提交按钮onclick事件上调用您的验证方法。