在提交表单之前执行Javascript函数

时间:2017-11-23 15:38:55

标签: javascript jquery forms spring-mvc

我有以下弹簧形式执行后端控制器和JavaScript函数,一切正常但我需要在提交表单之前执行JavaScript函数。怎么做?

以下代码在执行JavaScript之前提交表单。

<form:form modelAttribute="api" id="form">
                <form:textarea path="text" class="form-control" rows="10" id="redacttext"/>
                <button type="submit" class="btn btn-default">Submit</button>
 </form:form>

Javascript功能

function dosomething() {
 //do something 
}

通过jquery执行javascript函数

$('#form').submit(function() {
      dosomething();
  });

3 个答案:

答案 0 :(得分:1)

这是工作示例。

$('#submit').on('click',function() {
  dosomething();
 
});

function dosomething() {
  console.log('here');
  //return false;
  // if you want to submit the form here 
  $('#form').submit();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form:form modelAttribute="api" id="form">
  <form:textarea path="text" class="form-control" rows="10" id="redacttext" />
  <button type="button" id="submit" class="btn btn-default">Submit</button>
</form:form>

答案 1 :(得分:0)

尝试使用preventDefault Event

$('#form').submit(function(e) {
      e.preventDefault();
      dosomething();
  });

并在最后添加的dosomething()函数中添加:

$( "#form" ).submit();

这将首先运行你的dosomething()函数,然后通过该函数,它将提交你的表单。

答案 2 :(得分:0)

你可以试试这个

$("#form").submit(function(e) {
     e.preventDefault();
     ..... do you action/ call custom function
     this.submit();
     return false; //I put it here as a fallback
});